Как разобрать результаты поиска по блогам Google? - PullRequest
2 голосов
/ 16 апреля 2010

Я пытаюсь разобрать количество результатов из блога Google Seach. Может ли кто-нибудь, пожалуйста, помогите мне!

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

возвращает полную страницу. На правой стороне вы можете видеть ( Результаты 1 - 10 из примерно 2,504,830,546 для.

Как я могу получить 2,504,830,546 ???

Спасибо. Привет.

Ответы [ 3 ]

2 голосов
/ 16 апреля 2010

Хотя обычно вам не следует анализировать HTML-файл с помощью регулярных выражений, в этом случае вы можете сделать исключение (поскольку на странице, в частности, все еще используется <font>, структура все равно нарушается, и синтаксический анализатор XML мало чем поможет). Этот фрагмент кода предполагает, что вы уже загрузили веб-страницу и поместили ее в строковую переменную $webpage_as_string:

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

$matches[1] будет содержать результат в виде строки. Вам нужно отфильтровать запятые и разобрать их в число ... Конечно, этот код сломается, как только Google изменит шаблон своего сайта.

http://php.net/manual/en/function.preg-match.php содержит больше информации о функции, руководство по шаблону здесь: http://www.php.net/manual/en/reference.pcre.pattern.syntax.php

0 голосов
/ 17 апреля 2010

если у вас есть 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
0 голосов
/ 16 апреля 2010

Почему бы просто не использовать их API поиска , который включает поиск по блогам?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...