Question

Je dois fournir un mot clé tel que "bouilloire en métal bleue". (avec / sans guillemets) et obtenez uniquement le nombre de résultats trouvés pour cette recherche. Si je cherche sans guillemets maintenant, je reçois:

 Results 1 - 10 of about 1,040,000 for blue metal kettle. (0.19 seconds)

Ici, "1 040 000" est le nombre que je veux. Existe-t-il une fonction API permettant de faire cela ou dois-je extraire ce nombre via HTML? Quelle est la meilleure façon de faire cela?

Était-ce utile?

La solution

À partir de l'API Google Ajax, il existe une propriété ratedResultsCount en JSON, mais vous pouvez en savoir plus sur les plaintes non résolues déposées dans l'outil de suivi des problèmes:

  

Le nombre de résultats varie
   http://code.google.com/p/ google-ajax-apis / issues / detail? id = 32

(Je vois que la question porte un tag PHP, mais javascript côté client conjointement peut présenter un intérêt.)

Autres conseils

Vous pouvez filtrer l’écran. Quelque chose comme:

$keywords = "blue metal kettle";
$html = file_get_contents("http://www.google.com/?q=" . rawurlencode($keywords));
preg_match('/Results 1 - \d+ of about ([0-9,]+) for/', $html, $reg);
var_dump($reg[1]);

Si vous l'utilisez dans une application, vous violerez probablement les conditions d'utilisation de Google.

Google a fermé son API pour un usage public il y a un certain temps. Si vous souhaitez utiliser une API prise en charge, consultez l'API bing qui fournit cela dans le cadre de ses résultats. Sinon, vous devez effacer le code HTML. Sachez que vous avez indiqué le formatage pour nous / les chiffres en anglais. Le formatage varie selon les sites Google et / ou les paramètres de votre profil et / ou de votre navigateur.

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