2016-02-25 5 views
6

Ich brauche Google Custom Search API https://developers.google.com/custom-search/v1/overview. Von dieser Seite sagte es:Ergebnis nicht mehr als 100 Ergebnisse auf Google benutzerdefinierte Suche API

For CSE users, the API provides 100 search queries per day for free. If you need more, you may sign up for billing in the Developers Console. Additional requests cost $5 per 1000 queries, up to 10k queries per day.

Ich melde mich bereits für die Abrechnung in der Entwicklerkonsole. Ich konnte jedoch immer noch keine Ergebnisse über 100 abrufen. Welche Dinge sollte ich mehr tun? https://www.googleapis.com/customsearch/v1?cx=CSE_INSTANCE&key=API_KEY&q=QUERY&start=100

{ error: { errors: [ { domain: "global", reason: "invalid", message: "Invalid Value" } ], code: 400, message: "Invalid Value" } }

Antwort

2

Abfrage: Definition
https://support.google.com/customsearch/answer/1361951

Any actual user query from a Google Site Search engine, including but not limited to search engines installed on your website using XML, iFrame, or the Custom Search Element.

Das bedeutet, würden Sie wahrscheinlich elf mehr als 100 Ergebnisse bekommen abfragt senden müssen.

GET https://www.googleapis.com/customsearch/v1?&q=QUERY&...&start=1 
GET https://www.googleapis.com/customsearch/v1?&q=QUERY&...&start=11 
GET https://www.googleapis.com/customsearch/v1?&q=QUERY&...&start=21 
GET ... 
GET https://www.googleapis.com/customsearch/v1?&q=QUERY&...&start=81 
GET https://www.googleapis.com/customsearch/v1?&q=QUERY&...&start=91 
GET https://www.googleapis.com/customsearch/v1?&q=QUERY&...&start=101 

überprüfen jede Antwort und wenn errorcode400 ist, können Sie aufhören - es gibt wohl keine Notwendigkeit, neben schicken (&start= vorherige + 10) Anfrage.

Jetzt können Sie Antworten zusammenführen und Ergebnisseite erstellen.

Google Custom Search and Google Site Search return up to 10 results per query. If you want to display more than 10 results to the user, you can issue multiple requests (using the start=0, start=11 ... parameters) and display the results on a single page. In this case, Google will consider each request as a separate query, and if you are using Google Site Search, each query will count towards your limit.

Es könnte einen besseren Weg geben, dies zu tun, als ich oben beschrieben habe. (Aber ich bin mir nicht sicher über batching API calls.)

und (endlich) mögliche Antwort auf Ihre Frage: Ich habe mehr als ein paar Tests gemacht, aber ich habe kein Glück gehabt mit start von mehr als 100 (ich war immer das gleiche wie du - <Response [400]>). Ich verwende den "Browser-Schlüssel" aus meinem abrechnungsfähigen Projekt. That could mean we can't get 101st, 102nd, 103rd, etc. Ergebnisse mit CSE-API.

+0

Auf meine Anfrage konnte ich TotalResults ist 97400. Ich konnte jedoch nicht Ergebnisse mehr als 100 Datensätze erhalten. – Chamnap

+0

was soll ich jetzt tun? – Chamnap

+0

Ich bin mir nicht sicher, aber ich denke, ich sollte meine Antwort komplett umschreiben. Es ist einfach falsch, Entschuldigung. Und ich habe keine guten Neuigkeiten, tut mir leid, wieder. – galeksic

Verwandte Themen