我正在尝试解析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 ???
感谢。 问候。
答案 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