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?

War es hilfreich?

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!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top