網站的防爬機制一般用這幾種方法
jj
2021-11-26
了解網站的防爬機制,一般網站從以下幾個方面進行反爬蟲:

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