1
我一直在嘗試編寫一個腳本來檢索給定關鍵字的Google趨勢結果。請注意,我不想做任何惡意的事情,我只是希望能夠自動化這個過程並每天運行幾次。PHP CURL - 在抓取時存儲和使用cookie的問題
調查谷歌趨勢的網頁後,我發現,信息可通過以下網址:
http://www.google.com/trends/trendsReport?hl=en-GB&q=keyword&cmpt=q&content=1
可以複式倍要求的信息與來自瀏覽器沒有問題,但如果你試圖用「隱私模式」在4或5個請求後顯示以下內容:
檢測到錯誤您已達到配額限制。請稍後再試 。
這讓我覺得餅乾是必需的。
$cookiefile = $siteurl . '/wp-content/plugins/' . basename(dirname(__FILE__)) . '/cookies.txt';
$url = 'http://www.google.com/trends/trendsReport?hl=en-GB&q=keyword&cmpt=q&content=1';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$x='error';
while (trim($x) != '' ){
$html=curl_exec($ch);
$x=curl_error($ch);
}
echo "test cookiefile contents = ".file_get_contents($cookiefile)."<br />";
echo $html;
但是我不能得到任何寫入我的cookies文件:所以我如下寫了我的腳本。所以我不斷收到錯誤消息。任何人都可以看到我要去哪裏錯了嗎?
我在下面回答。但谷歌有很多技巧不讓人們刮掉他們的數據。它通常會返回一個錯誤,但實際上它們會阻止你。 –
如果您仔細使用捲曲,Google將永遠不會知道它的人體或捲曲,除非存在驗證碼。 –
'$ siteurl'的價值是什麼?這應該是一個文件系統路徑,而不是一個網址。 –