Вернуть первый источник изображения из изображений Google


10

Есть ли способ получить первый источник изображения из поиска Google, если у меня есть поисковый запрос?

Например, если input есть tomato, output будетhttp://www.cksinfo.com/clipart/food/fruits/tomatoes/tomato.png

Спасибо!

Ответы:


5

API пользовательского поиска Google теперь включает изображения. Вы ограничены 100 запросами в день перед выставлением счетов, но это единственный законный способ использовать Google для поиска.

Если ссылка неверна:

Стили вызова

Существует несколько способов вызова API:

ОТДЫХ

Передача состояния представления в API пользовательского поиска Google несколько отличается от традиционного REST. Вместо предоставления доступа к ресурсам, API предоставляет доступ к сервису. В результате API предоставляет один URI, который действует как конечная точка службы.

Вы получаете доступ к конечной точке службы API пользовательского поиска Google, используя HTTP-глагол GET REST, как описано в операциях API. Вы передаете детали всех поисковых запросов в качестве параметров запроса.

Конкретный формат для единственного URI API пользовательского поиска Google:

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

где параметры - это любые параметры, применяемые к запросу. Подробнее см. В разделе «Работа с результатами поиска» и «Ссылка на параметр запроса» в документе «Использование REST».

Вот пример того, как это работает в API пользовательского поиска Google, который ищет лекции в тестовой системе пользовательского поиска:

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

ОТДЫХ от JavaScript

Вы можете вызвать API пользовательского поиска Google, используя REST из JavaScript, используя параметр запроса обратного вызова и функцию обратного вызова. Это позволяет писать многофункциональные приложения, которые отображают данные пользовательского поиска без написания кода на стороне сервера.

В следующем примере этот подход используется для отображения первой страницы результатов поиска для томата запроса:

<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>

Вы, конечно, обновите src скрипта, чтобы включить значение ввода, из которого вы ищете.


мы должны публично распоряжаться ключом API в scriptURL? о_О
T.Todua

3

Для этого вы можете использовать API поиска картинок Google . К сожалению, это было устаревшим, поэтому вы можете ограничить количество запросов в день. Я не уверен, что есть новый API для его замены.


Там не было никакой замены, и этот конкретный API на самом деле находится в списке тех, которые обязательно будут закрыты (в отличие от просто устаревших без дальнейшего графика выключения), согласно недавней публикации API "весенняя очистка" , хотя это, вероятно, будет в диапазон составляет три года (см. раздел 1.3).
Су '24

Хм хорошо, но я могу как-нибудь ПОЛУЧИТЬ содержание страницы результатов и разобрать первую ссылку на изображение или что-то еще? Есть ли обходной путь вообще?
3mpetri

Вы можете выполнить поиск, а затем проанализировать HTML-код, чтобы получить первый результат. Это определенно выполнимо. Это, вероятно, нарушает TOS Google, хотя.
Джон Конде
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.