Retornar a fonte da primeira imagem do google images


10

Existe uma maneira de buscar a primeira fonte de imagem da pesquisa no google se eu tiver um termo de pesquisa?

Por exemplo, se a entrada for tomato, a saída seráhttp://www.cksinfo.com/clipart/food/fruits/tomatoes/tomato.png

Obrigado!

Respostas:


5

A API de pesquisa personalizada do Google agora inclui imagens. Você está limitado a 100 consultas / dia antes do faturamento, mas é a única maneira legítima de usar o Google para fazer sua pesquisa.

Se o link direcionar incorretamente:

Estilos de chamada

Há mais de uma maneira de chamar a API:

DESCANSAR

Representational State Transfer, na API de pesquisa personalizada do Google, é um pouco diferente do REST tradicional. Em vez de fornecer acesso aos recursos, a API fornece acesso a um serviço. Como resultado, a API fornece um único URI que atua como o terminal em serviço.

Você acessa o terminal do serviço da API de pesquisa personalizada do Google usando o verbo HTTP GET REST, conforme descrito nas operações da API. Você passa os detalhes de todas as solicitações de pesquisa como parâmetros de consulta.

O formato específico para o único URI da API de pesquisa personalizada do Google é:

https://www.googleapis.com/customsearch/v1?parameters

em que parâmetros são quaisquer parâmetros a serem aplicados à consulta. Consulte Trabalhando com resultados de pesquisa e Referência de parâmetro de consulta no documento Usando REST para obter detalhes.

Aqui está um exemplo de como isso funciona na API de pesquisa personalizada do Google, que pesquisa palestras em um mecanismo de pesquisa personalizada de teste:

GET https://www.googleapis.com/customsearch/v1?key=INSERT-YOUR-KEY&cx=017576662512468239146:omuauf_lfve&q=lectures

REST do JavaScript

Você pode invocar a API de pesquisa personalizada do Google usando REST do JavaScript, usando o parâmetro de consulta de retorno de chamada e uma função de retorno de chamada. Isso permite que você escreva aplicativos avançados que exibem dados da Pesquisa personalizada sem escrever nenhum código do servidor.

O exemplo a seguir usa essa abordagem para exibir a primeira página dos resultados da pesquisa para o tomate de consulta:

<html>
  <head>
    <title>JSON/Atom Custom Search API Example</title>
  </head>
  <body>
    <div id="content"></div>
    <script>
      function hndlr(response) {
      for (var i = 0; i < response.items.length; i++) {
        var item = response.items[i];
        // in production code, item.htmlTitle should have the HTML entities escaped.
        document.getElementById("content").innerHTML += "<br>" + item.htmlTitle;
      }
    }
    </script>
    <script src="https://www.googleapis.com/customsearch/v1?key=YOUR-KEY&cx=017576662512468239146:omuauf_lfve&q=tomato&callback=hndlr">
    </script>
  </body>
</html>

Obviamente, você atualizaria o src do script para incluir o valor da entrada a partir da qual você está pesquisando.


devemos descartar a chave da API publicamente no scriptURL? o_O
T.Todua 10/09

3

Você pode usar a API de pesquisa de imagens do Google para fazer isso. Infelizmente, ele foi descontinuado e, portanto, o número de consultas por dia pode ser limitado. Não tenho certeza se existe uma nova API para substituí-la.


Não houve substituição, e essa API em particular está na lista das que definitivamente serão encerradas (em vez de apenas preteridas sem agendamento adicional para o desligamento), de acordo com a publicação recente de "limpeza de primavera" da API , embora seja provável que ela esteja dentro intervalo de três anos (consulte a seção 1.3).
Su '24 de

Hm ok, mas posso de alguma forma obter o conteúdo da página de resultados e analisar o link da primeira imagem ou algo assim? Alguma solução alternativa?
3mpetri

Você pode fazer uma pesquisa e analisar o HTML para obter o primeiro resultado. Isso é definitivamente factível. Provavelmente viola os Termos de Serviço do Google.
John Conde
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.