2010-04-16 2 views
2

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

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

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

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

Спасибо. С уважением.

+0

Вы не получите, что много «К сожалению, Google не обслуживает более 1000 результаты для любого запроса. (Вы запросили результаты, начиная с 8000.) « – ariefbayu

+0

Я думаю, что Jooj хочет получить строку« 2 504 830 546 ». Я прав ? – hsz

+0

Уверен, но мне нужно только количество результатов для дальнейшей статистики ... – Jooj

ответ

2

Хотя вы, как правило, не должны анализировать 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

получил сообщение об ошибке: preg_match() [function.preg-match]: разделитель не должен быть буквенно-цифровым или обратным слэшем – Jooj

+0

oops, извините, забыли разделители по шаблону регулярных выражений ... php было время от времени для меня. исправил его, хотя я его не тестировал. – orithena

+0

спасибо maligree :) – Jooj

0

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

+0

Как я могу использовать этот API для получения того, что мне нужно? – Jooj

+0

Ознакомьтесь с их документацией: http://code.google.com/apis/ajaxsearch/documentation/. Это объясняет, что вам нужно делать, и есть примеры. –

+0

Спасибо за документацию, но похоже, что этот API не возвращает «итоговый номер результата»! – Jooj

0

, если у вас есть 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 
Смежные вопросы