2012-02-23 93 views
0

我想關於如何迫使這個腳本解釋谷歌的網址提示,好像我做了谷歌的研究PHP:如何解釋谷歌網址

<?php 

$ch = curl_init(); 
$timeout = 5; 
curl_setopt ($ch, CURLOPT_URL, 'http://www.google.com/?q=cr#hl=fr&q=help+me+please&psj=1&oq=variable+get+google+recherche&fp=1/'); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
$file_contents = curl_exec($ch); 
curl_close($ch); 
$lines = array(); 
$lines = explode("\n", $file_contents); 

foreach($lines as $line_num => $line) { 
echo "Line # {$line_num} : ".htmlspecialchars($line)."<br />\n"; 
} 

?> 

這是我來什麼與,但是當我在我的服務器上嘗試這一點時,我只收到google.com源代碼,而不是研究後谷歌網頁的源代碼。

任何人都可以幫助我嗎?謝謝:D

+0

這是因爲AJAX的。 – SLaks 2012-02-23 16:34:46

+0

可能的重複[我想cURL谷歌搜索結果在PHP](http://stackoverflow.com/questions/9392818/i-want-to-curl-google-search-result-in-php) – Quentin 2012-02-23 16:43:12

回答

0

這不是你可以做到這一點的最好方法。

JSON/Atom自定義搜索API將做你想做的。 http://code.google.com/apis/customsearch/v1/overview.html

對於雅虎的BOSS API:http://developer.yahoo.com/search/boss/

而對於兵:http://www.bing.com/toolbox/bingdeveloper/

此外,您的捲曲是不給你你需要的結果的原因是因爲搜索查詢是哈希背後在URL中。這意味着谷歌通過ajax拉動結果。您必須找到一種方法將查詢字符串直接傳遞到Google結果頁面。

您可以嘗試通過在瀏覽器中關閉javascript,執行搜索並複製生成的URL來模擬此操作。

對於懶惰的,這就是:http://www.google.com/search?hl=en&q=test+search

+0

這只是我的項目的第一步,我將不得不這樣做,雅虎和後來,不知道谷歌的API可以做到這一點 – WizLiz 2012-02-23 16:36:14

+0

我不認爲你想要做什麼是谷歌支持。 Bing和Yahoo也有搜索API。我將更新我的答案以及指向這些API的鏈接。 – Brendan 2012-02-23 16:39:03

+0

要測試這些api,感謝您的答案^ _^ – WizLiz 2012-02-23 16:42:03

0