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