爬蟲可以利用這些代理IP抓取網站
了解網站的反爬機制,一般網站從以下幾個方面進行反爬。
精靈IP代理1.防爬行通過收割臺
向用戶索要標題是最常見的反爬蟲策略。許多網站會檢測標題和用戶-代理,有些網站會檢測推薦人(一些資源網站的防盜鏈就是檢測推薦人)
如果遇到這種反爬蟲機制,可以直接給爬蟲添加頭,并添加瀏覽器的用戶-代理被復制到爬蟲的頭部。或將Referer值修改為目標網站的域名。對于檢測標題的反爬蟲,可以通過在爬蟲中修改或添加標題來繞過它。
2.基于用戶行為的反爬蟲
還有一些網站是檢測用戶行為的,比如同一個IP短時間內多次訪問同一個頁面,或者同一個賬號短時間內多次做同樣的操作。
大部分網站是前者,使用IP代理就可以解決。我們可以在檢測后將代理IP保存在文件中,但是這種方法不可取,而且代理IP失敗的概率較高,所以從專業代理IP在網站上實時抓取是一個不錯的選擇。
在第二種情況下,下一個請求可以在每次請求后幾秒鐘的隨機時間間隔內進行。一些有邏輯漏洞的網站可以通過多次請求、注銷、再次登錄、繼續請求等,繞過了同一賬號不能在短時間內多次提出同一請求的限制。
對于cookie,檢查cookie以確定用戶是否是有效用戶。需要登錄的網站經常使用這種技術。此外,一些網站的登錄會進行動態更新和驗證。例如,用于登錄認證的認證_Token會在Tukuku登錄時隨機分配,認證_令牌將與用戶提交的登錄名和密碼一起發送回服務器。
3.基于動態頁面的反爬蟲
有時候當你抓取目標頁面時,發現關鍵信息內容是空的,只有框架代碼。這是因為網站的信息通過用戶帖子的XHR動態返回內容信息。這個問題的解決方案是通過開發者工具(Fireflies, etc)分析網站流量。,找到一個單獨的內容信息請求(如Json),抓取內容信息,獲取所需內容。
更復雜的是動態請求的加密,參數可以 t被解析,所以它們可以 不要被抓住。在這種情況下,您可以使用機械化、SeleniumRC調用瀏覽器內核,就像真正的瀏覽器上網一樣,可以最大化抓取的成功率,但效率會大打折扣。筆者測試過,在拉戈抓取30頁招聘信息需要30多秒。用模擬的瀏覽器內核爬行需要2-3分鐘。
4.限制一些IP訪問
很多網站都可以獲得免費的代理IP,因為爬蟲可以利用這些代理IP抓取網站,網站也可以利用這些代理IP進行反向限制,通過抓取這些IP并保存在服務器上來限制爬蟲。