在爬蟲工作中,我們不可避免的會遇到網頁的反爬封鎖,所以就有了爬蟲的***,在攻和守之間兩股力量不斷的抗衡。接下來就講講使用爬蟲時ip限制問題的六種方法!
方法1.
1、IP必須需要,如果有條件,建議一定要使用代理IP。
2、在有外網IP的機器上,部署爬蟲代理服務器。
3、你的程序,使用輪訓替換代理服務器來訪問想要採集的網站。
好處:
1、程序邏輯變化小,只需要代理功能。
2、根據對方網站屏蔽規則不同,你只需要添加更多的代理就行了。
3、就算具體IP被屏蔽了,你可以直接把代理服務器下線就OK,程序邏輯不需要變化。
方法2.
1、ADSL+腳本,監測是否被封,然後不斷切換ip
2、設置查詢頻率限制 正統的做法是調用該網站提供的服務接口。
方法3.
1、useragent僞裝和輪換
2、使用飛速雲代理ip和輪換
3、cookies的處理,有的網站對登陸用戶政策寬鬆些
方法4.
儘可能的模擬用戶行爲:
1、UserAgent經常換一換
2、訪問時間間隔設長一點,訪問時間設置爲隨機數;
3、訪問頁面的順序也可以隨機着來
方法5.
網站封的依據一般是單位時間內特定IP的訪問次數.將採集的任務按目標站點的IP進行分組通過控制每個IP在單位時間內發出任務的個數,來避免被封.當然,這個前題採集很多網站.如果只是採集一個網站,那麼只能通過多外部IP的方式來實現了.
方法6.
對爬蟲抓取進行壓力控制;可以考慮使用代理的方式訪問目標站點。
1、降低抓取頻率,時間設置長一些,訪問時間採用隨機數
2、頻繁切換UserAgent(模擬瀏覽器訪問)
3、多頁面數據,隨機訪問然後抓取數據
4、更換用戶IP,這是最直接有效的方法!