如何解析谷歌博客搜索的结果?

时间:2010-04-16 14:59:29

标签: php parsing

我正在尝试解析google seach博客的结果数量。有人可以帮助我!

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 ???

感谢。 问候。

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

为什么不使用包含博客搜索的search API

答案 2 :(得分: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