Поиск картинок Google говорит, что API больше не доступен

Я использую API поиска картинок Google. До вчерашнего дня он работал, но сегодня утром он говорит: "Этот API больше не доступен"

Это официально закрыто, или любая ошибка на моей стороне

Запрос

https://ajax.googleapis.com/ajax/services/search/images?v=1.0&rsz=8&q=cute+kittens

отклик

{"responseData": null, "responseDetails": "This API is no longer available.", "responseStatus": 403}

7 ответов

Решение

Это полный шаблон URL для использования

Мы можем устранить ненужные параметры.

https://www.googleapis.com/customsearch/v1?q={searchTerms} & num = {count?} & start = {startIndex?} & lr = {language?} & safe = {safe?} & cx = {cx?} & cref = {Cref?} & сортировки = {рода?} & фильтр = {фильтр?} & GL = {гЛ?} & кр = {кр?} & googlehost = {googleHost?} & c2coff = {disableCnTwTranslation?} & HQ = {HQ?} & гл = { гл?} & SiteSearch = {SiteSearch?} & siteSearchFilter = {siteSearchFilter?} & exactTerms = {exactTerms?} & excludeTerms = {excludeTerms?} & linkSite = {linkSite?} & orTerms = {orTerms?} & relatedSite = {relatedSite?} & dateRestrict = {dateRestrict? } & LowRange={LowRange?}& Highrange = {Highrange?} & SearchType = {SearchType} & FileType = {FileType?} & прав = {права?}&imgSize={imgSize?}&imgType={imgType?}&imgColorType={imgColorType?}&imgDominantColor={imgDominantColor?}& альт = JSON

я использую

https://www.googleapis.com/customsearch/v1?key=ap_key&cx=cx&q=hello&searchType=image&imgSize=xlarge&alt=json&num=10&start=1

Ответ, который я нашел, был с помощью API пользовательской поисковой системы Google (CSE). Обратите внимание, что это ограничено до 100 бесплатных запросов в день.

Создание cx и изменив его для поиска изображений

  1. Создайте пользовательскую поисковую систему на https://cse.google.com/cse/create/new с вашими критериями поиска.
  2. Выберите сайты для поиска (оставьте это поле пустым, если вы хотите выполнить поиск по всей сети, в противном случае вы можете ввести сайт для поиска на одном конкретном сайте)
  3. Введите имя и язык для своей поисковой системы.
  4. Нажмите "Создать". Теперь вы можете найти cx в URL вашего браузера.
  5. В разделе "Изменить поисковую систему" ​​нажмите кнопку "Панель управления". В разделе "Изменить" вы найдете ярлык "Поиск изображения" с кнопкой ВКЛ / ВЫКЛ, измените его на ВКЛ. Нажмите "обновить", чтобы сохранить изменения.

Проведение поиска с помощью API

URL-адрес конечной точки API https://www.googleapis.com/customsearch/v1

Для этого API используются следующие параметры JSON:

  • q: указывает текст поиска
  • num: указывает количество результатов. Требуется целое число от 1 до 10 (включительно)
  • start: "смещение" для результатов, с которых должен начинаться поиск. Требуется целое значение от 1 до 101.
  • imgSize: размер изображения. я использовал "medium"
  • searchType: должен быть установлен в "image"
  • filetype: указывает тип файла для изображения. Я использовал `"jpg", но вы можете оставить это, если расширение файла не имеет значения для вас.
  • key: ключ API, полученный по https://console.developers.google.com/
  • cx: идентификатор пользовательской поисковой системы из предыдущего раздела

Просто сделай GET запрос, передав вышеуказанные параметры как JSON в конечную точку API (также указанную выше).

Примечание. Если вы зададите список рекомендателей в настройках поисковой системы, посещение URL-адреса через браузер, скорее всего, не будет работать. Вам нужно будет сделать вызов AJAX (или эквивалент на другом языке) с сервера, указанного в этом списке. Он будет работать только для тех рефереров, которые были указаны в настройках конфигурации.

Ссылка: https://developers.google.com/custom-search/json-api/v1/reference/cse/list

Теперь вы можете искать изображения с помощью пользовательского API поиска изображений.

Вы можете сделать это в два этапа:

1) Получить CUSTOM_SEARCH_ID

Перейдите на страницу - https://cse.google.ru/cse/all

Здесь вы должны создать новую поисковую систему. Сделайте это и включите поиск изображений там.

Экран (я русский... извините)

включить поиск изображений

затем получите этот идентификатор поисковой системы. Для этого нажмите на кнопку Получить код:

получить код кнопки

И найдите строку с cx = "здесь будет ваш CUSTOM_SEARCH_ID":

получить идентификатор CSE

Хорошо. Сделано, теперь второй шаг:

2) Получить SERVER_KEY

Перейдите в консоль Google - https://console.developers.google.com/project

Консоль Google API

Нажмите кнопку "Создать проект", введите имя и другую необходимую информацию. Выберите этот проект и перейдите к Enable Apis панель инструментов проекта Теперь найдите систему пользовательского поиска.

обычай SE найти И включите его.

Включить пользовательский поиск

Теперь мы должны перейти в учетные данные и создать новый ключ сервера:

Создать ключ сервера

Хорошо. Теперь мы можем использовать поиск изображений.

Запрос:

https://www.googleapis.com/customsearch/v1?key=SERVER_KEY&cx=CUSTOM_SEARCH_ID&q=flower&searchType=image&fileType=jpg&imgSize=xlarge&alt=json

Замените SERVER_KEY и CUSTOM_SEARCH_ID и вызовите этот запрос.

Лимит: бесплатно вы можете искать только 100 изображений в день. Спасибо за внимание.

Прочитав несколько ответов, я собрал ответ с изображениями:

  1. Войдите на сайт: https://developers.google.com/custom-search/v1/introduction, на странице вы найдете эту часть, поэтому нажмите кнопку Получить ключ:

  1. Создайте или выберите проект, а затем ДАЛЕЕ:

  1. Скопируйте КЛЮЧ API:

  1. Войдите на веб-сайт, чтобы создать свой CX: https://cse.google.com/cse/create/new, введите случайный домен, например "www.anypage.com" (после того, как мы удалим), выберите язык и определите какое-нибудь имя для вашей поисковой системы. Нажмите кнопку СОЗДАТЬ.

  1. Увидите эту страницу, затем щелкните в Панели управления:

  1. Скопируйте идентификатор поисковой системы на потом (это ваш CX). После того, как вы можете настроить поиск на всех веб-сайтах (активный поиск по всей сети, выберите на случайном веб-сайте http://www.anypage.com/, затем нажмите кнопку " Удалить"), и вы можете активировать поиск изображений. Вот так увидим:

  1. И используя REST, вы можете получить результаты, используя этот пример кода (поиск цветка):
<html lang="pt">
<head>
    <title>JSON Custom Search API Example</title>
</head>
<body>
    <div id="content"></div>
    <script>
        function hndlr(response) {
            console.log(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=API_KEY&cx=SEARCH_ENGINE_KEY&q=flower&searchType=image&callback=hndlr"></script>
</body>
</html>

Базовый код находится здесь: https://developers.google.com/custom-search/v1/using_rest

  1. После установки вашего API_KEY (key) и вашего ПОИСКОВОГО КЛЮЧА (cx) результат будет таким:

Спасибо @Vijay Shegokar, @aftamat4ik и @Alladinian

Если это только для ваших собственных целей (не для производства) и вы не планируете злоупотреблять поиском картинок Google, вы можете просто извлечь URL первого изображения из результатов поиска Google с помощью JSOUP.

Например: код для получения URL-адреса изображения первого эскиза:

public static String FindImage(String question, String ua) {
            String finRes = "";

    try {
            String googleUrl = "https://www.google.com/search?tbm=isch&q=" + question.replace(",", "");
            Document doc1 = Jsoup.connect(googleUrl).userAgent(ua).timeout(10 * 1000).get();
            Element media = doc1.select("[data-src]").first();
            String finUrl = media.attr("abs:data-src"); 

            finRes= "<a href=\"http://images.google.com/search?tbm=isch&q=" + question + "\"><img src=\"" + finUrl.replace("&quot", "") + "\" border=1/></a>";

        } catch (Exception e) {
            System.out.println(e);
        }

        return finRes;
    }

Руководство:

вопрос - термин поиска изображения

ua - пользовательский агент браузера

Измените URL API на Google Custom Image Search

Предоставьте те же параметры вместе с API KEY и CX.

Больше информации и проводник

Yahoo Boss API является разумной заменой, хотя он и не бесплатный, и результаты не так хороши.

ОБНОВЛЕНИЕ: API поиска YAHOO BOSS JSON прекратит работу 31 марта 2016 г.

SerpAPI позволяет искать через Google Images и возвращает чистый JSON. он интегрируется с большинством языков программирования: python, php, java, golang, nodejs...

https://serpapi.com/images-results

Google ограничивает количество поисковых запросов в день. но этот сервис предоставляет неограниченные поиски...

Похоже, нам нужно реализовать API пользовательского поиска Google. https://developers.google.com/custom-search/ говорит так в верхней части страницы, которую вы предоставили сами.

Другие вопросы по тегам