如何解析谷歌博客搜索的结果?
问题描述:
我想解析来自google搜索博客的结果数量。请有人帮助我!如何解析谷歌博客搜索的结果?
http://blogsearch.google.com/blogsearch?hl=en&ie=UTF-8&q=a&btnG=Search+Blogs
返回一个完整的页面。在右侧,您可以看到(结果1 - 10大约2,504,830,546为a。(0.05秒))。
我怎么能得到2,504,830,546 ???
谢谢。 此致敬礼。
答
虽然通常不应该用正则表达式来解析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
答
,如果你有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
你不会得到那么多“抱歉,谷歌不会提供超过1000任何查询的结果(你要求从8000开始的结果)“ – ariefbayu 2010-04-16 15:02:11
我认为Jooj想要得到一个'2,504,830,546'字符串。我对吗 ? – hsz 2010-04-16 15:04:02
当然,但我只需要进一步的统计结果... – Jooj 2010-04-16 15:05:20