Google image search говорит, что api больше не доступен



Я использую Google image search API. До вчерашнего дня он работал, но сегодня утром он говорит: "этот 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}
550   7  

7 ответов:

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

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

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

проведение поиска с 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

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

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

image search enable

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

get code button

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

get CSE id

ОК. Это сделано, теперь второй шаг:

2) получить SERVER_KEY

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

Google API Console

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

custom SE find И включить его.

Enable Custom Search

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

Create server Key

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

запрос:

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 изображений в день. Спасибо за внимание.

Если это только для ваших собственных целей (не для производства), и вы не планируете злоупотреблять Google Image Search, вы можете просто извлечь первый 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;
    }

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

question - Image search term

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

изменения в API URL-адрес Google Custom Image search

предоставьте те же параметры вместе с ключом API и CX.

дополнительная информация и проводник

Это полный шаблон URL, который будет использоваться

мы можем исключить ненужное я использую

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

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

обновление: Yahoo BOSS JSON Search API прекратит работу 31 марта 2016 года

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

Comments

    Ничего не найдено.