您好,登錄后才能下訂單哦!
這篇文章主要介紹了python反爬蟲中怎么躲避蜘蛛陷阱,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
Spider Trap
蜘蛛陷阱導致網絡爬蟲進入無限循環之類的東西,這會浪費蜘蛛的資源,降低其生產力,并且在編寫得不好的爬蟲的情況下,可能導致程序崩潰。禮貌蜘蛛在不同主機之間交替請求,并且不會每隔幾秒鐘從同一服務器請求多次文檔,這意味著“禮貌”網絡爬蟲比“不禮貌”爬蟲的影響程度要小得多。
反爬方式:
創建無限深度的目錄結構
HTTP://http://example.com/bar/foo/bar/foo/bar/foo/bar /
動態頁面,為網絡爬蟲生成無限數量的文檔。如由算法生成雜亂的文章頁面。
文檔中填充了大量字符,使解析文檔的詞法分析器崩潰。
此外,帶蜘蛛陷阱的網站通常都有robots.txt告訴機器人不要進入陷阱,因此合法的“禮貌”機器人不會陷入陷阱,而忽視robots.txt設置的“不禮貌”機器人會受到陷阱的影響。
爬蟲方法:
把網頁按照所引用的css文件進行聚類,通過控制類里最大能包含的網頁數量防止爬蟲進入trap后出不來,對不含css的網頁會給一個penalty,限制它能產生的鏈接數量。這個辦法理論上不保證能避免爬蟲陷入死循環,但是實際上這個方案工作得挺好,因為絕大多數網頁都使用了css,動態網頁更是如此。
缺點:
反爬方式1,2會增加很多無用目錄或文件,造成資源浪費,也對正常的SEO十分不友好,可能會被懲罰。
感謝你能夠認真閱讀完這篇文章,希望小編分享python反爬蟲中怎么躲避蜘蛛陷阱內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。