2015-03-31 105 views
1

我正在尝试在我的网站中使用谷歌搜索查询,我需要为发送给查询的文本获取网站网址,该代码适用于有限的结果,但之后它会在一段时间后停止工作,可能会导致Google禁用它有一段时间。如何在PHP中使用谷歌搜索查询?

这里是我使用的代码。

 $cleanQuery = str_replace(" ","+",$text); 
     $url = 'http://www.google.com/search?q='.$cleanQuery; 
     $scrape = file_get_contents($url); 

$ text是用户在搜索时输入的文本。 但问题是,它仅适用于一段时间,然后停止....

工作示例: http://www.alleffort.com/tools/findurl.php

如果输入在textarea的一些文字,然后提交就应该检索所有相关信息,但它不起作用。

请帮我弄清楚这个问题.... 感谢提前:)

+0

你试过'http'用'https'更换??? – 2015-03-31 07:22:32

+0

@NishantSolanki是的,但没有效果:( – 2015-03-31 07:23:51

+0

不曾刮谷歌,他们发现并阻止这件事,并带来奇怪的诉讼:-( – 2015-03-31 07:43:58

回答

4

这个问题可能是要附加的网址字符串:

$cleanQuery = str_replace(" ","+",$text); 

这并不准备在查询字符串中正确使用字符串,您需要编码更多的字符而不仅仅是空格。

相反,你应该使用urlencode()

$cleanQuery = urlencode($text); 
+0

仍然没有结果,这里是我的代码的工作示例.. http://www.alleffort.com/tools/findurl.php – 2015-03-31 07:21:23

+0

@ Insomania你也有可能跑到谷歌自己施加的限制。 – jeroen 2015-03-31 07:22:11

+0

是的,如何解决它? – 2015-03-31 07:22:33