Поиск изображений 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}
Ответы
Ответ 1
Это полный шаблон URL, который будет использоваться
Мы можем устранить ненужные параметры.
https://www.googleapis.com/customsearch/v1?q= {searchTerms} & num = {count?} & start = {startIndex?} & lr = {language?} & безопасно = {безопасно} &? сх = {сх} &? CREF = {Cref} &? рода = {рода} &? фильтр = {фильтр} &? гл = {гл}? & кр = {кр?} & 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
Ответ 2
Ответ, который я нашел, это использование API пользовательской поисковой системы (CSE). Обратите внимание, что это ограничение составляет 100 бесплатных запросов в день.
Создание cx
и его изменение для поиска изображений
- Создайте собственную поисковую систему в https://cse.google.com/cse/create/new на основе ваших критериев поиска.
- Выберите сайты для поиска (оставьте это поле пустым, если вы хотите искать всю сеть, иначе вы можете ввести сайт для поиска на одном конкретном сайте)
- Введите имя и язык для своей поисковой системы.
- Нажмите "создать". Теперь вы можете найти
cx
в URL вашего браузера.
- В разделе "Измените свою поисковую систему" нажмите кнопку "Панель управления". В разделе "Редактирование" вы найдете ярлык "Поиск изображения" с кнопкой включения/выключения, измените его на ВКЛ. Нажмите "Обновить", чтобы сохранить изменения.
Проведение поиска с помощью 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
Ответ 3
Теперь вы можете искать изображения с помощью API поиска пользовательских изображений.
Вы можете сделать это двумя шагами:
1) Получить CUSTOM_SEARCH_ID
Перейдите к - https://cse.google.ru/cse/all
Здесь вы должны создать новую поисковую систему. Сделайте это и включите поиск изображений там.
Экран (я русский... извините)
![разрешение поиска изображений]()
то получите этот идентификатор поисковой системы. Для этого нажмите кнопку "Получить код":
![получить код]()
И найдем строку с cx = "здесь будет ваш CUSTOM_SEARCH_ID":
![получить CSE id]()
Ok. Это сделано, теперь второй шаг:
2) Получить SERVER_KEY
Перейдите в google Console - https://console.developers.google.com/project
![Консоль API Google]()
Нажмите кнопку "Создать проект", введите имя и другую необходимую информацию.
Выберите этот проект и перейдите в Enable Apis
Теперь найдите систему пользовательского поиска.
И Включить его.
![Включить пользовательский поиск]()
Теперь мы должны перейти в учетные данные и создать новый ключ сервера:
![Создать ключ сервера]()
Ok. Теперь мы можем использовать поиск изображений.
Query:
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 изображений в день.
Спасибо за внимание.
Ответ 4
Если это только для ваших целей (а не для производства), и вы не планируете злоупотреблять поиском изображений 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 - пользовательский агент браузера
Ответ 5
Измените URL-адрес API на
Пользовательский поиск Google
Предоставьте те же параметры вместе с API KEY и CX.
Дополнительная информация и проводник
Ответ 6
Yahoo Boss API является разумной заменой, хотя он не свободен, и результаты не так хороши.
ОБНОВЛЕНИЕ: YAHOO BOSS JSON Search API будет прекращен 31 марта 2016 года
Ответ 7
SerpAPI позволяет искать изображения Google и возвращает чистый json. он интегрируется с большинством языков программирования: python, php, java, golang, nodejs...
https://serpapi.com/images-results
Google ограничивает количество поисковых запросов в день. но эта услуга предоставляет неограниченный поиск...
Ответ 8
похоже, что нам нужно реализовать API пользовательского поиска Google
https://developers.google.com/custom-search/
говорит так на верхней части страницы, которую вы предоставили себе