Google nicht mehr als 64 Ergebnisse Rückkehr
-
29-09-2019 - |
Frage
Ich bin mit dem Google-API für .NET http: // Code .google.com / p / google-api-for-dotnet / und egal, wie viele Ergebnisse, die ich für Google frage nie wieder mehr als 64.
Hier ist mein Code-Snippet:
GwebSearchClient client = new GwebSearchClient("xyz");
IList<IWebResult> results = client.Search(this.SearchText.Text, 100);
Ich erwartete 100 Ergebnisse zu bekommen, aber nie mehr als 64 unabhängig von der Suchbegriff verwendet erhalten.
Irgendwelche Ideen?
Lösung
Nach der Google AJAX Search API (die die gleichen HTTP-Anfragen an die Google-Server als .NET-API verwendet,) die maximale zurückgegebenen Ergebnisse sind 64.
Hinweis: Die maximale Anzahl der Ergebnisseiten wird von der Art des Suchers basiert. Lokale Suche Stützen 4 Seiten (oder maximal 32 Gesamtergebnisse) und die anderen Sucher (Blog, Buch, Bild, Nachrichten, Patent, Video und Web) Unterstützung 8 Seiten (maximal insgesamt 64 Treffer).
hier , blättern zwei Linien. Oder die Seite für „maximale Anzahl“ suchen.
Andere Tipps
Es besteht immer die Möglichkeit, das Parsen html:
Ich brauchte etwa 200.000.000 (oder zumindest 24M) und liefert Da die API wurde es nicht schneiden, habe ich beschlossen, die HTML-Ergebnisse herunterzuladen und zu analysieren, sie reguläre Ausdrücke manuell verwenden. Mit HashTables konnte ich Duplikate entfernen.
Mein regulärer Ausdruck:
(Parse nur URLs mit dem angegebenen Domäne und enthalten Subdomains mit 3-20 alphanumerischen Zeichen)
@"((?!www)([A-Za-z0-9-]{3,20})(\.example\.com))"
HTML-URL verwendet:
[C# Source]
String.Format( "http://www.google.com/search?q=site:{0}&num={1}"+
"&hl=en&tbo=d&as_qdr=all&start={2}&sa=N&biw=1280&bih=709",
"example.com", count, start)
Das ist in meinen eigenen Anwendungen und Ausbeuten eher schöne Ergebnissen getestet!