Google image search говорит, что 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 ответов
ответ, который я нашел, был с помощью пользовательского API поисковой системы Google (CSE). Обратите внимание, что это ограничено 100 бесплатными запросами в день.
создания cx
и изменение его для поиска изображений
- создать систему пользовательского поиска на https://cse.google.com/cse/create/new на основе ваших критериев поиска.
- выберите сайты для поиска (оставьте это поле пустым, если вы хотите выполнить поиск по всей сети, иначе вы можете ввести сайт для поиска на одном конкретном сайте)
- введите имя и язык для поисковых систем.
- Нажмите кнопку "Создать.- Теперь ты можешь найти!--0--> в URL браузера.
- в разделе "изменить поисковую систему" нажмите кнопку "Панель управления". В разделе" редактировать "вы найдете метку" поиск изображений " с кнопкой включения/выключения, измените ее на ON. Нажмите "обновить", чтобы сохранить изменения.
проведение поиска с В API
url конечной точки API -https://www.googleapis.com/customsearch/v1
для этого API используются следующие параметры JSON:
-
q
: задает текстом поиск -
num
: задает количество результатов. Требуется целое значение от 1 до 10 (включительно) -
start
: "offset"для результатов, с которых должен начинаться поиск. Требуется целое значение от 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
здесь вы должны создать новую поисковую систему. Сделайте это и включите поиск изображений там.
экран(я русский... извините)
затем получите этот идентификатор поисковой системы. Сделать это нажмите на кнопку Get Code:
и там найти строку с cx = "здесь будет ваш CUSTOM_SEARCH_ID":
Ok. Это сделано, теперь второй шаг:
2) получить SERVER_KEY
перейти к консоли google -https://console.developers.google.com/project
Нажмите для создания проекта кнопку, Введите имя и другая необходимая информация. Выберите этот проект и перейдите к Включить API Теперь найдите пользовательскую поисковую систему.
теперь мы должны перейти к учетным данным и создать новый ключ сервера:
Ok. Теперь мы можем использовать поиск изображений.
запрос:
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 и вызовите этот запрос.
Limit: бесплатно вы можете искать только 100 изображений в день. Спасибо за внимание.
Если это только для ваших собственных целей (не для производства), и вы не планируете злоупотреблять поиском изображений 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(""", "") + "\" border=1/></a>";
} catch (Exception e) {
System.out.println(e);
}
return finRes;
}
руководство:
вопрос-поиск изображения
ua-агент пользователя браузера
измените url API на Google пользовательский поиск изображений
обеспечить те же параметры вместе с ключом API и CX.
на Yahoo Boss API является разумной заменой, хотя это не бесплатно, и результаты не совсем так хороши.
обновление: Yahoo BOSS JSON Search API прекратит работу 31 марта 2016
похоже, нам нужно реализовать API пользовательского поиска google https://developers.google.com/custom-search/ так говорится в верхней части страницы, которую вы предоставили себе