淺談動態代理IP爬蟲前期的準備工作!想要爬蟲獲得好的效果,僅僅寫一個好的爬蟲程序是不夠的,因為你的程序很可能一啟動就被網站的反爬蟲策略屏蔽掉。
所以,在爬行之前,我們需要做好以下準備。
(一)反爬蟲策略分析:
(1)如果單個ip在沒有cookie的情況下被多次訪問,該ip很快就會被屏蔽。
(2)從第一次訪問開始返回cookie值,連續訪問使用同一個cookie值,幾分鐘后被阻塞;用不同的cookie值訪問,大約十分鐘后,IP被屏蔽。
(3)低速(10s以上)單ip訪問不會被阻塞。
(2)爬蟲策略分析:
簡單來說,有幾種方法可以防止回爬:
用隨機用戶代理:最簡單的,即使是新手也可以。
設置爬行間隔時間:簡單,但是大大降低了效率。
可用cookie:找到規則是難還是容易,需要帶一些經過認證或解密的值來計算。
代理的使用:簡單粗暴有效,但是維護代理是個問題。
由于單個ip無論如何都會被屏蔽,我已經投入代理的懷抱,常見的有IP模擬器代理等。
爬蟲策略大致如下:
三個隨機:隨機UA,隨機代理和隨機cookie
對于使用自由代理:
可以參考git上的一個開源項目:jhao104/proxy。用過幾款類似的,感覺這款最好。它主要是用flask做一個api實時刷新可用ip,不僅可以抓取各大免費代理ip,還可以定期檢查ip的可用性。但是,這個項目還有一個問題。比如我把捕獲間隔設為10秒,任務的執行時間可能會長于10秒,會報錯導致整個程序暫停。
對于使用付費代理:
如果想保證爬蟲的質量,可以選擇優質的付費代理IP。
以上準備是爬蟲前的準備,然后是爬蟲程序的準備。