plus de 64 résultats Google ne pas retourner
-
29-09-2019 - |
Question
J'utilise l'API Google pour .Net http: // Code .google.com / p / google-api-à-dotnet / et peu importe combien de résultats que je demande retourne Google jamais plus de 64 ans.
Voici mon extrait de code:
GwebSearchClient client = new GwebSearchClient("xyz");
IList<IWebResult> results = client.Search(this.SearchText.Text, 100);
Je me attendais à obtenir 100 résultats, mais jamais plus de 64 quel que soit le terme de recherche utilisé.
Toutes les idées?
La solution
Selon l'API Google AJAX Search (qui utilise les mêmes requêtes HTTP vers les serveurs de Google comme l'API .NET,) le maximum de résultats retourné sont 64.
Note: Le nombre maximum de pages de résultats est basée sur le type de chercheur. supports de recherche locale 4 pages (ou un maximum de 32 résultats au total) et les autres Searchers (Blog, Livre, Image, Nouvelles, brevets, vidéo et Web) support 8 pages (pour un total maximum de 64 résultats).
De , faites défiler deux lignes vers le haut. Ou chercher la page pour "maximum".
Autres conseils
Il y a toujours la possibilité de parsing html: Je avais besoin d'environ 200.000.000 (ou au moins 24M) les résultats et l'API Depuis découpait pas, j'ai décidé de télécharger les résultats html et les analyser manuellement à l'aide d'expressions régulières. Avec Hashtables, je suis en mesure d'éliminer les doublons.
Mon expression régulière: (parse les URL du domaine donné, et contiennent des sous-domaines avec 3-20 caractères alphanumériques)
@"((?!www)([A-Za-z0-9-]{3,20})(\.example\.com))"
HTML URL utilisée:
[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)
Cela a été testé dans mes propres applications et des rendements plutôt de beaux résultats!