2015-03-31 50 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