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?

Était-ce utile?

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!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top