常見的反爬策略及解決方案有以下幾種:
1.僅限制用戶IP訪問頻率
限制IP訪問頻率通常表現為:當使用本地IP采集速度高于某頻率時,就會出現采集錯誤,頁面重定向等情況。當訪問者IP信息存儲在cookie中時,會增加爬蟲難度,具體解決方案如下:
①cookie中沒有記錄IP時
需要使用動態短效代理IP/隧道代理IP,根據網站限制IP強度,調整采集速度,購買適量代理IP。
②cookie中記錄IP時
需要使用靜態長效代理IP,根據網站限制IP強度,調整采集速度,購買適量代理IP。
2.限制用戶ID訪問頻率
限制用戶ID通常表現為:采集一段時間后,停止采集/采集錯誤,瀏覽器中該頁面顯示不出來(頁面重定向、有驗證碼、錯誤頁面等情況),清空瀏覽器瀏覽記錄后,再次打開又可以正常顯示。
這時可以看頁面的cookie來確認服務器是否限制用戶ID,當訪問頁面的cookie中有UID或其他ID字符串時,表示服務器對用戶ID有識別。還有一種對UID加密的情況,這時cookie中有一串加密后的字符串。
解決方案:使用高級設置中的多通道采集功能,并設置最大登錄用戶數,設置代理IP(使用靜態長效代理IP),通過模擬多用戶瀏覽網站,來解決網站對ID的限制。
3.用戶IP訪問頻率用戶ID訪問頻率雙重限定
雙重限制通常表現為:采集一段時間后,停止采集/采集錯誤,瀏覽器中該頁面顯示不出來(頁面重定向、有驗證碼、錯誤頁面等情況),清空瀏覽器瀏覽記錄后,再次打開又可以正常顯示。爬蟲設置為多通道采集后采集一段時間發現IP被封了。也可通過觀察頁面cookie中是否既有IP又有UID/UID加密的信息,來進行判斷。
解決方案:使用高級設置中的多通道采集功能,同時打開動態IP鎖定,設置好代理IP(使用靜態長效代理IP),并設置最大登錄用戶數,來解決網站對賬號的限制。如下圖所示:
【高級配置】
【運行設置】
4.限制用戶賬號訪問頻率
一般表現為:網站需要登錄,登錄后采集賬號被封。這種情況一般是由于服務器識別用戶賬號,并限制用戶賬號訪問頻率導致的。
解決方案:注冊多個賬號,供封號后替換使用;
5.用戶賬號訪問頻率和用戶IP訪問頻率雙重限制
一般表現為網站需要登錄,登錄后采集賬號被封,IP也被封。使用多通道或者用代理IP采集均無效果。這種情況是由于服務器對用戶賬號和訪問IP雙重限制導致的。
解決方案:注冊多個賬號,供封號后替換使用;降低采集速度,使用靜態長效代理IP進行采集。