北斗劍陣, 爬蟲IP破封不可阻擋

太陽小諸葛發表於2018-11-12

北斗劍陣, 爬蟲IP破封不可阻擋

“人在江湖飄,哪能不挨刀。”話糙理不糙,在我們酣暢淋漓地使用爬蟲抓取 資料為我們所用的時候,卻也能難免遇到強敵,IP遭到封鎖,爬蟲被反。那麼萬一不行,IP被封了,有什麼方法來解呢?

當然有,還很多。

方法1.

之前由於公司專案需要,採集過google地圖資料,還有一些大型網站資料。

經驗如下:

IP必須有,可以直接使用成熟的代理IP服務商,類似像太陽HTTP代理這種。

好處:

1.程式邏輯變化小,只需要代理功能。

2.根據對方網站遮蔽規則不同,你只需要新增更多的代理就行了。

3.就算具體IP被遮蔽了,你可以直接把IP代理下線就OK,程式邏輯不需要變化。

方法2.

有小部分網站的防範措施比較弱,可以偽裝下IP,修改X-Forwarded-for,即可繞過。

大部分網站麼,如果要頻繁抓取,一般還是要多IP。我比較喜歡的解決方案是VPS再配多IP,透過預設閘道器切換來實現IP切換。

方法3.

ADSL + 指令碼,監測是否被封,然後不斷切換 ip

設定查詢頻率限制

正統的做法是呼叫該網站提供的服務介面。

方法4.

1 user agent 偽裝和輪換

2 使用代理 ip 和輪換

3 cookies 的處理,有的網站對登陸使用者政策寬鬆些

友情提示:考慮爬蟲給人家網站帶來的負擔,be a responsible crawler :)

方法5.

儘可能的模擬使用者行為:

1、UserAgent經常換一換;

2、訪問時間間隔設長一點,訪問時間設定為隨機數;

3、訪問頁面的順序也可以隨機著來

方法6.

網站封的依據一般是單位時間內特定IP的訪問次數.

我是將採集的任務按 目標站點的IP進行分組 透過控制每個IP 在單位時間內發出任務的個數,來避免被封.當然,這個前題是你採集很多網站.如果只是採集一個網站,那麼只能透過多外部IP的方式來實現了.

方法7.

1. 對爬蟲抓取進行壓力控制;

2. 可以考慮使用代理的方式訪問目標站點。


總結: 

-降低抓取頻率,時間設定長一些,訪問時間採用隨機數

-頻繁切換UserAgent(模擬瀏覽器訪問)

-多頁面資料,隨機訪問然後抓取資料

-使用代理IP不間斷更換


太陽HTTP為您提供海量IP,高度隱匿真實IP。爬蟲行進暢通無阻!


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31561288/viewspace-2219622/,如需轉載,請註明出處,否則將追究法律責任。

相關文章