Laut Google-Bildsuche ist die API nicht mehr verfügbar


77

Ich verwende die Google Bildsuch-API. Bis gestern hat es funktioniert, aber heute Morgen heißt es "Diese API ist nicht mehr verfügbar".

Ist es offiziell geschlossen oder ein Fehler an meiner Seite?

Anfrage

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

Antwort

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

2
Das gleiche ist mir passiert. Es scheint keine andere praktikable Option im Internet zu geben. Danke Google. superfeedr behauptet, arbeiten zu können, aber nach stundenlangem Versuch, ihre schrecklichen Dokumente zu verstehen, gibt es keine Möglichkeit, das zu tun, was Sie oben tun. Ich hoffe, jemand implementiert bald eine Lösung :(
Scotty Bollinger

3
Meine Güte, meine Suchmaschine hat 4 Monate lang nicht funktioniert, bis ich dies versehentlich entdeckt habe ...
Kai Noack

3
Google sollte sein Chrome Extension-Tutorial aktualisieren, da es die Google-Bildsuche verwendet. Was natürlich nicht funktioniert, wie das Tutorial zeigt.
Brain2000

Antworten:


120

Die Antwort, die ich gefunden habe, war die Verwendung der CSE-API (Custom Search Engine) von Google. Beachten Sie, dass dies auf 100 kostenlose Anfragen pro Tag begrenzt ist.

Erstellen cxund Ändern, um nach Bildern zu suchen

  1. Erstellen Sie eine benutzerdefinierte Suchmaschine unter https://cse.google.com/cse/create/new basierend auf Ihren Suchkriterien.
  2. Wählen Sie zu durchsuchende Websites aus (lassen Sie dieses Feld leer, wenn Sie das gesamte Web durchsuchen möchten, andernfalls können Sie eine Website eingeben, um auf einer bestimmten Website zu suchen).
  3. Geben Sie einen Namen und eine Sprache für Ihre Suchmaschine ein.
  4. Klicken Sie auf "Erstellen". Sie finden sie jetzt cxin Ihrer Browser-URL.
  5. Klicken Sie unter "Suchmaschine ändern" auf die Schaltfläche "Systemsteuerung". Im Abschnitt "Bearbeiten" finden Sie ein Etikett "Bildsuche" mit einer EIN / AUS-Taste. Ändern Sie es in EIN . Klicken Sie auf "Aktualisieren", um Ihre Änderungen zu speichern.

Durchführen einer Suche mit der API

Die API-Endpunkt-URL lautet https://www.googleapis.com/customsearch/v1

Die folgenden JSON-Parameter werden für diese API verwendet:

  • q: Gibt den Suchtext an
  • num: Gibt die Anzahl der Ergebnisse an. Benötigt einen ganzzahligen Wert zwischen 1 und 10 (einschließlich)
  • start: der "Versatz" für die Ergebnisse, bei welchem ​​Ergebnis die Suche beginnen soll. Erfordert einen ganzzahligen Wert zwischen 1 und 101.
  • imgSize: die Größe des Bildes. ich benutzte"medium"
  • searchType: muss auf eingestellt sein "image"
  • filetype: Gibt den Dateityp für das Bild an. Ich habe "jpg" verwendet, aber Sie können dies weglassen, wenn die Dateierweiterung für Sie keine Rolle spielt.
  • key: Ein API-Schlüssel, der von https://console.developers.google.com/ bezogen wird.
  • cx: Die benutzerdefinierte Suchmaschinen-ID aus dem vorherigen Abschnitt

Stellen Sie einfach eine GETAnfrage, indem Sie die obigen Parameter als JSON an den API-Endpunkt übergeben (ebenfalls oben aufgeführt).

Hinweis: Wenn Sie in den Suchmaschineneinstellungen eine Liste von Verweisen festlegen, funktioniert der Besuch der URL über Ihren Browser wahrscheinlich nicht. Sie müssen einen AJAX-Aufruf (oder einen entsprechenden Anruf aus einer anderen Sprache) von einem in dieser Liste angegebenen Server aus tätigen. Es funktioniert nur für die Referrer, die in den Konfigurationseinstellungen angegeben wurden.

Referenz: https://developers.google.com/custom-search/json-api/v1/reference/cse/list


9
Dies ist eine gute Lösung, aber beachten Sie, dass diese API ein Kontingent enthält. 100 Anfragen pro Tag kostenlos. Danach 5 US-Dollar pro 1.000 Anfragen. Selbst wenn die Abrechnung aktiviert ist, können Sie 10.000 Abfragen pro Tag mit einer maximalen Rate von 1 Abfrage pro Sekunde nicht überschreiten.
Alzy

1
Was ist mit der Suche in Nachrichten (keine Bilder)
Bashar Abu Shamaa

2
Sie müssen etwas unter Image.org-Typen unter Erweitert eingeben, bevor Sie die benutzerdefinierte Suchmaschine erstellen können. Sie können das Tag dann entfernen, wenn Sie die Bildsuche aktivieren.
Brain2000

3
Bei Google müssen Sie jetzt eine Website für die Suche eingeben: "Sie müssen mindestens eine Website oder ein Schema eingeben, bevor Sie eine Suchmaschine erstellen."
Dexter

8
@Dexter (& Alle anderen ...) Anscheinend haben sie die Option zum Durchsuchen des gesamten Webs im Menü "Setup" vergraben. Sie können also eine benutzerdefinierte Suchmaschine für eine zufällige Domain erstellen, diese speichern und dann zu "Bearbeiten> Setup" gehen, die Domain löschen und "Das gesamte Web durchsuchen" aktivieren.
Alladinian

26

Jetzt können Sie Bilder mit der benutzerdefinierten Bildsuch-API suchen.

Sie können dies in zwei Schritten tun:

1) Holen Sie sich CUSTOM_SEARCH_ID

Gehen Sie zu - https://cse.google.ru/cse/all

Hier müssen Sie eine neue Suchmaschine erstellen. Tun Sie dies und aktivieren Sie dort die Bildsuche.

Bildschirm (ich bin Russe ... sorry)

Bildersuche aktivieren

Dann holen Sie sich diese Suchmaschinen-ID. Klicken Sie dazu auf die Schaltfläche Code abrufen:

Code-Schaltfläche abrufen

Und dort finden Sie Zeile mit cx = "hier wird Ihre CUSTOM_SEARCH_ID sein":

CSE-ID abrufen

OK. Es ist geschafft, jetzt zweiter Schritt:

2) Holen Sie sich SERVER_KEY

Gehen Sie zu Google Console - https://console.developers.google.com/project

Google API Console

Klicken Sie auf die Schaltfläche Projekt erstellen, geben Sie den Namen und andere erforderliche Informationen ein. Wählen Sie dieses Projekt aus und gehen Sie zu Apis Projekt-Dashboard aktivieren. Suchen Sie nun nach einer benutzerdefinierten Suchmaschine.

benutzerdefinierte SE finden Und aktivieren Sie es.

Aktivieren Sie die benutzerdefinierte Suche

Jetzt müssen wir zu Anmeldeinformationen gehen und einen neuen Serverschlüssel erstellen:

Serverschlüssel erstellen

OK. Jetzt können wir die Bildsuche verwenden.

Abfrage:

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

Ersetzen Sie SERVER_KEY und CUSTOM_SEARCH_ID und rufen Sie diese Anforderung auf.

Limit: Sie können kostenlos nur 100 Bilder pro Tag suchen. Danke für die Aufmerksamkeit.


8

Wenn dies nur für Ihre eigenen Zwecke ist (nicht für die Produktion) und Sie nicht vorhaben, die Google Bildsuche zu missbrauchen, können Sie einfach die erste Bild-URL mithilfe von JSOUP aus den Google-Suchergebnissen extrahieren .

Beispiel: Code zum Abrufen der Bild-URL der ersten Miniaturansicht:

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;
    }

Führen:

Frage - Bildsuchbegriff

ua - Benutzeragent des Browsers



3

Dies ist die vollständige URL-Vorlage, die verwendet werden soll

Wir können unnötige Parameter eliminieren.

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?} & genaueTerms = {genaueTerms?} & excludeTerms = {excludeTerms?} & linkSite = {linkSite?} & orTerms = {orTerms?} & relatedSite = {relatedSict? } & lowRange = {lowRange?} & highRange = {highRange?} & searchType = {searchType} & fileType = {fileType?} & rights = {rights?} & imgSize = {imgSize?} & imgType = {imgType?} & imgColorType = {imgColorType?} & {imgDominantColor?} & alt = json

ich benutze

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


1
Vergessen Sie nicht, die URL in doppelte Anführungszeichen zu setzen.
CKM

Das Suchen von Bildern funktioniert nicht. `{" error ": {" code ": 500," message ": null}}`
dryleaf

3

Nachdem ich mehrere Antworten gelesen hatte, stellte ich eine Antwort mit Bildern zusammen:

  1. Greifen Sie auf die Website zu: https://developers.google.com/custom-search/v1/introduction . Auf der Seite, auf der Sie diesen Teil finden, klicken Sie auf die Schaltfläche Schlüssel abrufen :

Seite, um einen Schlüssel zu bekommen

  1. Erstellen oder wählen Sie ein Projekt aus und klicken Sie dann auf WEITER :

Wählen Sie ein Projekt aus oder erstellen Sie ein Projekt

  1. Kopieren Sie den API-SCHLÜSSEL:

Kopieren Sie den API-SCHLÜSSEL

  1. Greifen Sie auf die Website zu, um Ihre CX zu erstellen: https://cse.google.com/cse/create/new , schreiben Sie eine zufällige Domain wie "www.anypage.com" (nachdem wir sie gelöscht haben), wählen Sie eine Sprache aus und definieren Sie sie einen Namen für Ihre Suchmaschine. Klicken Sie auf die Schaltfläche ERSTELLEN .

Erstellen Sie Ihre CX

  1. Wird diese Seite angezeigt, klicken Sie in der Systemsteuerung auf :

Schalttafel

  1. Kopieren Sie die Suchmaschinen-ID für später (dies ist Ihr CX ). Nachdem Sie die Suche auf allen Websites eingestellt haben (aktiv Durchsuchen Sie das gesamte Web , wählen Sie auf der zufälligen Website www.anypage.com aus und klicken Sie auf die Schaltfläche Löschen ), und aktivieren Sie die Bildsuche . So wird es aussehen:

Einstellungen Kontrollfeld

  1. Mit REST können Sie die Ergebnisse mithilfe dieses Beispielcodes (Suche nach Blumen) abrufen:
<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>

Den Basiscode finden Sie hier: https://developers.google.com/custom-search/v1/using_rest

  1. Nachdem Sie Ihren API_KEY ( Schlüssel ) und Ihren SEARCH ENGINE KEY ( cx ) festgelegt haben, sieht das Ergebnis folgendermaßen aus:

Ergebnis

Vielen Dank an @Vijay Shegokar, @ aftamat4ik und @Alladinian


0

Die Yahoo Boss API ist ein vernünftiger Ersatz, obwohl sie nicht kostenlos ist und die Ergebnisse nicht ganz so gut sind.

UPDATE: Die YAHOO BOSS JSON-Such-API wird am 31. März 2016 eingestellt



-2

SerpAPI ermöglicht die Suche in Google Bilder und gibt einen sauberen JSON zurück. Es lässt sich in die meisten Programmiersprachen integrieren: Python, PHP, Java, Golang, Nodejs ...

https://serpapi.com/images-results

Google begrenzt die Anzahl der Suchvorgänge pro Tag. Dieser Service bietet jedoch unbegrenzte Suchmöglichkeiten ...

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.