Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何获取在google中找到的关键字的结果数_Html_Screen Scraping_Text Extraction_Google Search Api - Fatal编程技术网

Html 如何获取在google中找到的关键字的结果数

Html 如何获取在google中找到的关键字的结果数,html,screen-scraping,text-extraction,google-search-api,Html,Screen Scraping,Text Extraction,Google Search Api,我需要提供一个像“blue metal kettle”(带/不带引号)这样的关键字,并且只获取搜索结果的数量。如果我现在搜索不带引号,我会得到: Results 1 - 10 of about 1,040,000 for blue metal kettle. (0.19 seconds) 这是我要的号码“1040000”。是否有任何API函数来执行此操作,或者我必须通过HTML提取此数字?做这件事最好的方法是什么?谷歌很早以前就关闭了API供公众使用。如果您想使用受支持的API,请查看bin

我需要提供一个像“blue metal kettle”(带/不带引号)这样的关键字,并且只获取搜索结果的数量。如果我现在搜索不带引号,我会得到:

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

这是我要的号码“1040000”。是否有任何API函数来执行此操作,或者我必须通过HTML提取此数字?做这件事最好的方法是什么?

谷歌很早以前就关闭了API供公众使用。如果您想使用受支持的API,请查看bing API,它将此作为其结果的一部分提供。否则,您就只能删除HTML了。请注意,您已经显示了美式/英式数字的格式。其他谷歌网站和/或您的个人资料设置和/或浏览器设置的格式会有所不同。

您可以对其进行屏幕刮除。比如:

$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]);

如果您在应用程序中使用此选项,可能会违反谷歌的使用条款。

从谷歌Ajax API中,JSON中有estimatedResultsCount属性,但您可以在问题追踪器上阅读未解决的投诉:

结果计数不同


(我看到这个问题被标记为PHP,但是客户端javascript结合起来可能会引起兴趣。)

你的gravatar被关闭了22341点…@pop,你可以通过向上投票来帮助解决这个问题:p lol这个答案不准确,因为谷歌现在确实支持一个名为ajax搜索api的新api ajax api只支持搜索结果,不是要求的关于总数的详细信息。