Google搜索結果頁(yè)(SERP)的抓取,對SEO從業(yè)人員等都有很大的幫助,通過(guò)抓取SERP我們可以監測網(wǎng)站的排名情況、PPC廣告的情況、鏈接流行度等數據。
Google作為最大的搜索引擎,有著(zhù)最大的抓取程序Googlebot,但是他卻禁止其他網(wǎng)站抓取他的頁(yè)面。Google使用了大量的技術(shù)來(lái)檢測和阻止自動(dòng)請求。一旦Google檢測到自動(dòng)抓取程序,那么會(huì )出現以下幾種情況:
-
提示電腦中了病毒或木馬;
-
提示木馬程序,并要求輸入驗證碼;
-
Google會(huì )在一段時(shí)間內阻止您的IP訪(fǎng)問(wèn);
-
Google阻止您訪(fǎng)問(wèn)的時(shí)間會(huì )加長(cháng)。
Google是怎么檢測抓取程序的?可能的方法有:
-
通過(guò)IP 地址,IP地址可以作為用戶(hù)的唯一標識。
-
關(guān)鍵詞的變化,普通用戶(hù)不會(huì )再極短的時(shí)間內查詢(xún)很多關(guān)鍵詞。
-
抓取頻率,每次抓取的頻率都要在Google限定的范圍內。
隱藏抓取跡象,避免被Google屏蔽。
-
首先需要的是一個(gè)可靠地IP代理列表,代理地址需要每有被Google屏蔽掉。最好準備50-150個(gè)代理地址,一旦Google發(fā)自動(dòng)抓取,千萬(wàn)別繼續去抓取。
-
保證更換代理IP以后,你的Cookies也隨著(zhù)變化。
-
通過(guò)在URL中添加&num=100,將搜索結果的暫時(shí)數量設置為最大(100)。
-
不要使用多線(xiàn)程去抓取。
-
Google對每個(gè)關(guān)鍵詞,僅提供1000個(gè)查詢(xún)結果。
-
在適當的時(shí)間更換您的代理IP,這是抓取成功的關(guān)鍵。如果你要住區每個(gè)關(guān)鍵詞300-1000條結果,需要給每個(gè)關(guān)鍵詞更換一個(gè)IP;如果查詢(xún)的結果小于300個(gè),最好在查詢(xún)過(guò)程中uoxia延遲炒作,延遲10-20秒或真假代理數量。
-
如果返回的是一個(gè)驗證碼頁(yè)面,你最好馬上停止現在的行為。
下面是一個(gè)使用PHP寫(xiě)的抓取Google搜索結果頁(yè)的代碼。代碼中主要包括有:
-
自動(dòng)代理輪換(使用seo-proxies.com的API),如果你擁有自己的代理IP地址表,可以通過(guò)修改代碼改變它。如果你有seo-proxies.com的license,可以通過(guò)修改scaper.php中的”USERID”和”API-PASSWORD”來(lái)匹配license。
-
自動(dòng)從一個(gè)搜索結果頁(yè)爬去其他搜索結果頁(yè)。
-
使用聯(lián)想詞來(lái)增加搜索結果的數量。
-
自動(dòng)發(fā)現和移除廣告。
-
將抓取數據已數組方式保存,使用HTML方式或其他格式在前臺頁(yè)面呈現。
你唯一要做的是把抓取的結果儲存在數據表中,進(jìn)行管理。
代碼下載:http://www.box.net/shared/mz1d48hg1c