2010-08-19 5 views
1

J'utilise l'API Google pour .Net http://code.google.com/p/google-api-for-dotnet/ et peu importe combien de résultats que je demande retourne Google jamais plus de 64.Google ne retourne pas plus de 64 résultats

Voici mon extrait de code:

GwebSearchClient client = new GwebSearchClient("xyz"); 
IList<IWebResult> results = client.Search(this.SearchText.Text, 100); 

Je m'attendais à obtenir 100 résultats, mais jamais plus de 64, quel que soit le terme de recherche utilisé.

Des idées?

Répondre

2

Selon l'API de recherche Google AJAX (qui utilise les mêmes requêtes HTTP vers les serveurs de Google comme l'API .NET,) le maximum de résultats retournés sont 64.

Note: Le nombre maximum de pages de résultats est basé sur le type de chercheur. La recherche locale prend en charge 4 pages (ou un maximum de 32 résultats au total) et les autres chercheurs (Blog, Livre, Image, Actualités, Brevet, Vidéo et Web) prennent en charge 8 pages (pour un total maximum de 64 résultats).

De here, faites défiler deux lignes vers le haut. Ou recherchez dans la page "nombre maximum".

0

Il y a toujours l'option de html d'analyse syntaxique:
je avais besoin d'environ 200.000.000 (ou au moins 24M) résultats, et depuis l'API découpait pas, j'ai décidé de télécharger les résultats html et les analyser manuellement en utilisant des expressions régulières. Avec HashTables, j'ai été capable d'éliminer tous 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 donne des résultats plutôt sympa!

Questions connexes