如何获取谷歌中关键字的搜索结果数量

时间:2009-11-27 17:52:48

标签: html screen-scraping text-extraction google-search-api

我需要提供类似“蓝色金属水壶”(带/不带引号)的关键字,并且只获得为此搜索找到的结果数量。如果我现在没有引号搜索,我得到:

 Results 1 - 10 of about 1,040,000 for blue metal kettle. (0.19 seconds)

这里'1,040,000'是我想要的数字。是否有任何API函数可以执行此操作,或者我必须通过HTML提取此数字?最好的方法是什么?

3 个答案:

答案 0 :(得分:1)

你可以屏幕刮掉它。类似的东西:

$keywords = "blue metal kettle";
$html = file_get_contents("http://www.google.com/?q=" . rawurlencode($keywords));
preg_match('/Results 1 - \d+ of about ([0-9,]+) for/', $html, $reg);
var_dump($reg[1]);

如果您在某个应用程序中使用此功能,则可能违反了Google的使用条款。

答案 1 :(得分:1)

在Google Ajax API中,JSON中有一个estimatedResultsCount属性,但您可以阅读在问题跟踪器上提交的未解决的投诉:

  

结果计数不同
  http://code.google.com/p/google-ajax-apis/issues/detail?id=32

(我看到问题被标记为PHP,但客户端javascript可能会引起关注。)

答案 2 :(得分:-1)

很久以前,Google关闭了他们的API以供公众使用。如果您想使用支持的API,请查看bing api,它将结果作为其中的一部分提供。另外,你要抓取HTML。请注意,您已显示我们/英文数字的格式。格式会因其他Google网站和/或您的个人资料设置和/或浏览器设置而异。