2012-02-23 100 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