2010-04-16 6 views
2

J'essaye d'analyser le nombre de résultats du blog de google seach. Quelqu'un pourrait m'aider s'il vous plaît!Comment analyser les résultats de la recherche sur google blog?

http://blogsearch.google.com/blogsearch?hl=en&ie=UTF-8&q=a&btnG=Search+Blogs

retourne une page complète. Sur le côté droit, vous pouvez voir (Résultats 1 - 10 sur environ 2,504,830,546 pour un. (0,05 secondes)).

Comment puis-je obtenir 2,504,830,546 ???

Merci. Cordialement.

+0

Vous ne serez pas beaucoup « Désolé, Google ne sert pas plus de 1000 résultats pour toute requête. (Vous avez demandé des résultats à partir de 8000.) " – ariefbayu

+0

Je pense que Jooj veut obtenir une chaîne' 2,504,830,546'. Ai-je raison ? – hsz

+0

Bien sûr, mais j'ai besoin que les résultats comptent pour d'autres statistiques ... – Jooj

Répondre

2

Bien que vous devriez normalement pas analyser un fichier HTML avec des expressions rationnelles, dans ce cas, vous pouvez faire une exception (depuis la page en particulier utilise encore <font>, la structure est cassé de toute façon et un analyseur XML ne serait pas beaucoup d'aide). Ce morceau de code ici suppose que vous avez déjà tiré par les cheveux de la page Web et le mettre dans la variable chaîne $webpage_as_string:

preg_match('|Results.+?of +about +\<b\>([0-9,]+)\<\/b\> +for|', $webpage_as_string, $matches); 

$matches[1] contiendrait le résultat comme une chaîne. Vous auriez besoin de filtrer les virgules et de les analyser en un nombre ... Bien sûr, ce code se casserait dès que Google changerait son modèle de site.

http://php.net/manual/en/function.preg-match.php contient plus d'informations sur la fonction, le manuel de configuration est ici: http://www.php.net/manual/en/reference.pcre.pattern.syntax.php

+0

a eu une erreur: preg_match() [function.preg-match]: Le délimiteur ne doit pas être alphanumérique ou backslash – Jooj

+0

oups, désolé, j'ai oublié les délimiteurs sur le motif regex ... php était il y a un bout de temps pour moi. Je l'ai corrigé, même si je ne l'ai pas testé. – orithena

+0

merci maligree :) – Jooj

0

Pourquoi ne pas simplement utiliser leur search API qui inclut la recherche de blog?

+0

Comment pourrais-je utiliser cette API pour obtenir exactement ce dont j'ai besoin? – Jooj

+0

Consultez leur documentation: http://code.google.com/apis/ajaxsearch/documentation/ Elle explique ce que vous devez faire et contient des exemples. –

+0

Merci pour la documentation mais il semble que cette API ne retourne pas "nombre total de résultats"! – Jooj

0

si vous avez wget

$ wget -O- -q "http://blogsearch.google.com/blogsearch?hl=en&ie=UTF-8&q=a&btnG=Search+Blogs" | awk -vRS="Browse Top Stories|Blog results" -vFS='about|for' '/Results/{gsub(/<b>|<\/b>/,"",$2);print $2}' 
2,493,517,127 
Questions connexes