溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python反爬蟲中怎么躲避蜘蛛陷阱

發(fā)布時(shí)間:2020-11-30 10:51:03 來(lái)源:億速云 閱讀:179 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹了python反爬蟲中怎么躲避蜘蛛陷阱,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

Spider Trap

蜘蛛陷阱導(dǎo)致網(wǎng)絡(luò)爬蟲進(jìn)入無(wú)限循環(huán)之類的東西,這會(huì)浪費(fèi)蜘蛛的資源,降低其生產(chǎn)力,并且在編寫得不好的爬蟲的情況下,可能導(dǎo)致程序崩潰。禮貌蜘蛛在不同主機(jī)之間交替請(qǐng)求,并且不會(huì)每隔幾秒鐘從同一服務(wù)器請(qǐng)求多次文檔,這意味著“禮貌”網(wǎng)絡(luò)爬蟲比“不禮貌”爬蟲的影響程度要小得多。

反爬方式:

創(chuàng)建無(wú)限深度的目錄結(jié)構(gòu)

HTTP://http://example.com/bar/foo/bar/foo/bar/foo/bar /

 動(dòng)態(tài)頁(yè)面,為網(wǎng)絡(luò)爬蟲生成無(wú)限數(shù)量的文檔。如由算法生成雜亂的文章頁(yè)面。

文檔中填充了大量字符,使解析文檔的詞法分析器崩潰。

此外,帶蜘蛛陷阱的網(wǎng)站通常都有robots.txt告訴機(jī)器人不要進(jìn)入陷阱,因此合法的“禮貌”機(jī)器人不會(huì)陷入陷阱,而忽視r(shí)obots.txt設(shè)置的“不禮貌”機(jī)器人會(huì)受到陷阱的影響。

爬蟲方法:

把網(wǎng)頁(yè)按照所引用的css文件進(jìn)行聚類,通過控制類里最大能包含的網(wǎng)頁(yè)數(shù)量防止爬蟲進(jìn)入trap后出不來(lái),對(duì)不含css的網(wǎng)頁(yè)會(huì)給一個(gè)penalty,限制它能產(chǎn)生的鏈接數(shù)量。這個(gè)辦法理論上不保證能避免爬蟲陷入死循環(huán),但是實(shí)際上這個(gè)方案工作得挺好,因?yàn)榻^大多數(shù)網(wǎng)頁(yè)都使用了css,動(dòng)態(tài)網(wǎng)頁(yè)更是如此。

缺點(diǎn):

反爬方式1,2會(huì)增加很多無(wú)用目錄或文件,造成資源浪費(fèi),也對(duì)正常的SEO十分不友好,可能會(huì)被懲罰。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享python反爬蟲中怎么躲避蜘蛛陷阱內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI