Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.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
谷歌搜索:在PHP中搜索总结果_Php - Fatal编程技术网

谷歌搜索:在PHP中搜索总结果

谷歌搜索:在PHP中搜索总结果,php,Php,是否有可能使用PHP刮取Google搜索结果页面以提取找到的搜索结果总数 如果是这样的话,我该怎么做呢 谢谢这个PHP类可以做到: “此类可用于获取 给定数据的结果总数 谷歌搜索查询 它访问谷歌搜索网站以 对给定搜索执行查询 条件 该类解析结果页并 提取结果的总数 指定的搜索查询返回了。“ 用这个试试 根据计划发送的请求数量,您将需要一组代理。 您每天可以发送大约500个请求和IP/代理,而不会造成问题或被检测到 您应该阅读google-rank-checker.squabbel.com的文章,

是否有可能使用PHP刮取Google搜索结果页面以提取找到的搜索结果总数

如果是这样的话,我该怎么做呢

谢谢

这个PHP类可以做到:

“此类可用于获取 给定数据的结果总数 谷歌搜索查询

它访问谷歌搜索网站以 对给定搜索执行查询 条件

该类解析结果页并 提取结果的总数 指定的搜索查询返回了。“

用这个试试


根据计划发送的请求数量,您将需要一组代理。 您每天可以发送大约500个请求和IP/代理,而不会造成问题或被检测到

您应该阅读google-rank-checker.squabbel.com的文章,它包含一个PHP的全功能刮刀。使用该刮刀,根据您的需求修改它,并添加phpsimplehtmlparser代码(另一个答案),以获取关键字的总点击量信息

我建议使用libCURL访问Google本身。 与使用更简单的API相比,您将有更多的选项,使用file_get_html()或类似的php内部函数不会有太多乐趣,因为Google很快就会阻止您的脚本

大概是这样的:

  curl_setopt ($ch, CURLOPT_HEADER, 0);
  curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt ($ch, CURLOPT_RETURNTRANSFER , 1);
  $curl_proxy = "$IP:$PORT";
  curl_setopt($ch, CURLOPT_PROXY, $curl_proxy);
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);
  curl_setopt($ch, CURLOPT_TIMEOUT, 20);
  curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.0; en; rv:1.9.0.4) Gecko/2009011913 Firefox/3.0.6");
  $url = sprintf('http://www.google.com/search?q=%s', $keyword);
  curl_setopt ($ch, CURLOPT_URL, $url);
  $htmdata = curl_exec ($ch);

现在只需使用regex()/substr()/strstrstr()从$htmldata中获取数据

我正在使用这个php脚本在google的搜索中查找我名字的全部结果

需要注意的主要问题是上面定义的路径中的“&q”参数

我的名字包含空格,因此浏览器在其中添加了“+”

因此,您应该检查ur查询(即e&q)参数,以及ur查询是否包含一些特殊的参数

例如.,:,%等字符。然后您应该注意浏览器和

根据您需要的int脚本更改参数


SRY为英语水平差的人服务

我认为这违反了服务条款;)谷歌提供了一个可以通过PHP使用的搜索api。从来没有使用过它,但是通过它可以获得全部搜索结果:如果你连续几次直接搜索结果,那么谷歌可能会屏蔽你的IP。如果你计划定期这样做,那么你将不得不通过代理或限制每小时的连接数重要的澄清:你只想要总搜索结果的数量(很简单,你只想要数字本身),还是想要总搜索结果本身?后者不是谷歌通过白帽方法让你拥有的,但可以通过Scrapbox和黑暗面的力量来实现。
  curl_setopt ($ch, CURLOPT_HEADER, 0);
  curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt ($ch, CURLOPT_RETURNTRANSFER , 1);
  $curl_proxy = "$IP:$PORT";
  curl_setopt($ch, CURLOPT_PROXY, $curl_proxy);
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);
  curl_setopt($ch, CURLOPT_TIMEOUT, 20);
  curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.0; en; rv:1.9.0.4) Gecko/2009011913 Firefox/3.0.6");
  $url = sprintf('http://www.google.com/search?q=%s', $keyword);
  curl_setopt ($ch, CURLOPT_URL, $url);
  $htmdata = curl_exec ($ch);