Пошук зображень Google говорить, що API більше не доступний


77

Я використовую 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}

2
Те саме сталося і зі мною. Здається, в Інтернеті немає іншого життєздатного варіанту. Дякую Google. superfeedr стверджує, що він здатний працювати, але після кількох годин спроб осмислити їхні жахливі документи жодним чином не можна зробити те, що ти робиш вище. Сподіваюся, хтось незабаром запровадить рішення :(
Скотті Боллінгер,

3
Боже, моя пошукова машина не працювала цілих 4 місяці, поки я випадково не виявив це ...
Кай Ноак

3
Google повинен оновити підручник із розширень Chrome, оскільки він використовує пошук зображень Google. Що, очевидно, не працює, як показує підручник.
Brain2000

Відповіді:


122

Я знайшов відповідь за допомогою API користувацької пошукової системи Google (CSE). Зверніть увагу, що це обмежується 100 безкоштовними запитами на день.

Створення cxта модифікація для пошуку зображень

  1. Створіть власну пошукову систему за адресою https://cse.google.com/cse/create/new на основі ваших критеріїв пошуку.
  2. Виберіть сайти для пошуку (залиште це поле порожнім, якщо хочете здійснити пошук по всій мережі, інакше ви можете ввести сайт для пошуку на одному конкретному сайті)
  3. Введіть назву та мову для вашої пошукової системи.
  4. Натисніть "створити". Тепер ви можете знайти cxURL-адресу свого браузера.
  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


9
Це хороше рішення, але зверніть увагу, що цей API має квоту. 100 запитів на день безкоштовно. Після цього $ 5 за 1000 запитів. Навіть якщо ввімкнено виставлення рахунків, ви не можете перевищувати 10 000 запитів на день із максимальною швидкістю 1 запит на секунду.
alzy

1
А як щодо пошуку в Новинах (а не зображеннях)
Башар Абу Шамаа

2
Вам потрібно ввести щось у розділі Типи Image.org у розділі Додатково, перш ніж це дозволить вам створити власну пошукову систему. Потім ви можете видалити тег, коли вмикаєте пошук зображень.
Brain2000,

3
Зараз Google вимагає, щоб ви розмістили сайт для пошуку: "Ви повинні ввести принаймні один сайт або схему, перш ніж створювати пошукову систему".
Декстер

9
@Dexter (& Усі інші ...) Очевидно, вони поховали можливість пошуку по всій мережі в меню "Налаштування". Таким чином, ви можете створити власну пошукову систему для випадкового домену, зберегти її, а потім перейти до «Редагувати> Налаштування», видалити домен і ввімкнути «Пошук по всій мережі».
Алладініан

26

Тепер Ви можете шукати зображення за допомогою спеціального 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

Консоль API Google

Натисніть кнопку Створити проект, введіть назву та іншу необхідну інформацію. Виберіть цей проект і перейдіть до Увімкнути Apis інформаційна панель проекту Now знайти користувальницьку пошукову систему.

користувацька знахідка SE І увімкніть це.

Увімкніть користувацький пошук

Тепер ми повинні перейти до облікових даних і створити новий ключ сервера:

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

Гаразд. Тепер ми можемо використовувати Image Search.

Запит:

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 зображень на день. Дякую за увагу.


8

Якщо це лише для ваших власних цілей (не для виробництва), і ви не плануєте зловживати пошуком зображень 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 - агент користувача браузера


3

Змініть URL-адресу API на Google Custom Image Search

Надайте однакові параметри разом із API KEY та CX.

Більше інформації та Провідник


Новий API Google дозволить вам використовувати лише 100 вимог на день! чому! це було найкраще :( !! Google потребує грошей
сатири

ви можете зробити більше 100, але не безкоштовно
Шон

Я можу лише думати про безкоштовні пошуки :)
Пір Абдул

3

Це шаблон повної URL-адреси, який слід використовувати

Ми можемо усунути непотрібні параметри.

https://www.googleapis.com/customsearch/v1?q= {searchTerms} & num = {count?} & start = {startIndex?} & lr = {language?} & safe = {safe?} & cx = {cx?} & cref = {cref?} & sort = {sort?} & filter = {filter?} & gl = {gl?} & cr = {cr?} & googlehost = {googleHost?} & c2coff = {disableCnTwTranslation?} & hq = {hq?} & hl = { hl?} & siteSearch = {siteSearch?} & siteSearchFilter = {siteSearchFilter?} & точноTerms = {точніТерми?} & excludeTerms = {excludeTerms?} & linkSite = {linkSite?} & orTerms = {orTerms?} & relatedSite = {relatedSite?} & dateRest? } & lowRange = {lowRange?} & highRange = {highRange?} & searchType = {searchType} & fileType = {fileType?} & rights = {rights?} & imgSize = {imgSize?} & imgType = {imgType?} & imgColorType = {imgColorType? {imgDominantColor?} & alt = json

я використовую

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


1
не забудьте розмістити URL-адресу в подвійних лапках.
CKM

Пошук зображень не працює. `{" error ": {" code ": 500," message ": null}}`
dryleaf

3

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

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

Сторінка, щоб отримати ключ

  1. Створіть або виберіть проект, а потім ДАЛІ :

Виберіть проект або створіть проект

  1. Скопіюйте КЛЮЧ API:

Скопіюйте КЛЮЧ API

  1. Зайдіть на веб-сайт, щоб створити свій CX: https://cse.google.com/cse/create/new , напишіть випадковий домен, наприклад “www.anypage.com” (після того, як ми видалимо), виберіть мову та визначте якесь ім’я для вашої пошукової машини. Клацніть на кнопку СТВОРИТИ .

Створення вашого CX

  1. Побачить цю сторінку, а потім натисніть на панелі керування :

Панель управління

  1. Скопіюйте ідентифікатор пошукової системи на потім (це ваш CX ). Після того, як ви можете налаштувати пошук на всіх веб-сайтах (активний пошук по всій мережі , виберіть на випадковому веб-сайті 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 ( ключа ) та вашого КЛЮЧА ДЛЯ ПОШУКУ ( cx ), результат буде виглядати так:

Результат

Завдяки @Vijay Shegokar, @ aftamat4ik та @Alladinian


0

Yahoo Boss API є розумною заміною, хоча це не безкоштовно , і результати не такі хороші.

ОНОВЛЕННЯ: Пошуковий API YAHOO BOSS JSON припиняється 31 березня 2016 року


-1

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

https://serpapi.com/images-results

Google обмежує кількість пошукових запитів на день. але ця послуга надає необмежений пошук ...


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.