一、什么是爬蟲(chóng)陷阱:
“蜘蛛陷阱”是阻止蜘蛛程序爬行網(wǎng)站的障礙物,一些網(wǎng)站設(shè)計(jì)技術(shù)對(duì)搜索引擎說(shuō)很不友好,不利于蜘蛛爬行和抓取,這些技術(shù)被稱為蜘蛛陷阱。 最大的特點(diǎn)是當(dāng)蜘蛛抓取某個(gè)特定URL的時(shí)候,它便進(jìn)入了無(wú)限循環(huán),只有入口,沒(méi)有出口。
爬蟲(chóng)陷阱
二、常見(jiàn)的“蜘蛛陷阱”有哪些:
1、站內(nèi)搜索
這是一個(gè)常見(jiàn)且容易造成“蜘蛛陷阱”的地方,當(dāng)你試圖在站內(nèi)搜索某些特定關(guān)鍵詞的時(shí)候,如果類似search.php?q=這樣的URL地址被搜索引擎抓取與收錄,那么很可能產(chǎn)生大量無(wú)意義的搜索結(jié)果頁(yè)面。
解決方法:你可以通過(guò)Robots.txt這個(gè)文件,屏蔽動(dòng)態(tài)參數(shù)。
2、電商產(chǎn)品
如果你以往有過(guò)操作電商網(wǎng)站的經(jīng)歷,那么你會(huì)遇到產(chǎn)品SKU的多樣性的問(wèn)題,同一個(gè)主題內(nèi)容,會(huì)根據(jù)SKU的不同,產(chǎn)生多個(gè)URL,造成大量的內(nèi)容重復(fù)頁(yè)面,這也導(dǎo)致嚴(yán)重浪費(fèi)蜘蛛抓取頻率。還有一種特殊的“蜘蛛陷阱”與電商產(chǎn)品頁(yè)面類似,就是動(dòng)態(tài)的內(nèi)容插入,這也往往導(dǎo)致蜘蛛陷入溫柔的陷阱。
解決方法:確保URL的規(guī)范性,你可以試圖利用rel=canonical這個(gè)標(biāo)簽來(lái)解決類似問(wèn)題。
3、Flash網(wǎng)站
為了滿足用戶的視覺(jué)體驗(yàn),建站公司通常會(huì)使用Flash網(wǎng)站,給用戶搭建企業(yè)官網(wǎng),這樣看起來(lái)非常美觀,但由于目前搜索引擎并不能很好的抓取與識(shí)別flash內(nèi)容,往往導(dǎo)致站點(diǎn)排名很難提升。
解決方法:不要做整站flash,盡量將flash嵌入網(wǎng)頁(yè)內(nèi)容的一部分。
4、限制性內(nèi)容
對(duì)于一些站點(diǎn),出去吸引粉絲的目的,很多內(nèi)容只有登錄才能查看,特別是一些強(qiáng)制cookie的操作,這誘導(dǎo)與欺騙了蜘蛛,它很難識(shí)別內(nèi)容,并且不斷的嘗試抓取這個(gè)URL。
解決方法:針對(duì)文教鎮(zhèn)網(wǎng)站建設(shè),盡量避免采用這種策略,去吸引用戶。
爬蟲(chóng)陷阱
三:如何識(shí)別“蜘蛛陷阱”。對(duì)于識(shí)別蜘蛛陷阱的方法,特別容易,你只需要通過(guò)如下內(nèi)容:
1、網(wǎng)站日志:利用工具讀取當(dāng)日蜘蛛抓取URL的內(nèi)容,如果發(fā)現(xiàn)特殊的URL地址,那么值得進(jìn)一步關(guān)注。
2、抓取頻率:查看百度搜索資源平臺(tái)中抓取頻率,如果某一天數(shù)值特別大,那么很可能陷入蜘蛛陷阱。
四、爬蟲(chóng)的基本原理,網(wǎng)絡(luò)爬蟲(chóng)的基本工作流程如下:
1、首先選取一部分精心挑選的種子URL;
2、將這些URL放入待抓取URL隊(duì)列;
3、從待抓取URL隊(duì)列中取出待抓取在URL,解析DNS,并且得到主機(jī)的ip,并將URL對(duì)應(yīng)的網(wǎng)頁(yè)下載下來(lái),存儲(chǔ)進(jìn)已下載網(wǎng)頁(yè)庫(kù)中。此外,將這些URL放進(jìn)已抓取URL隊(duì)列。
4、分析已抓取URL隊(duì)列中的URL,分析頁(yè)面里包含的其他URL,并且將URL放入待抓取URL隊(duì)列,從而進(jìn)入下一個(gè)循環(huán)。
五、爬蟲(chóng)爬取難點(diǎn)匯總:
1、環(huán)路:網(wǎng)絡(luò)爬蟲(chóng)有時(shí)候會(huì)陷入循環(huán)或者環(huán)路中,比如從頁(yè)面 A,A 鏈接到頁(yè)面 B,B 鏈接 頁(yè)面C,頁(yè)面 C 又會(huì)鏈接到頁(yè)面 A。這樣就陷入到環(huán)路中。
環(huán)路造成的影響:
1.1、消耗網(wǎng)絡(luò)帶寬,無(wú)法獲取其他頁(yè)面
1.2、對(duì) Web 文教鎮(zhèn)服務(wù)器也是負(fù)擔(dān),可能擊垮該站點(diǎn),可能阻止正常用戶訪問(wèn)該站點(diǎn)
1.3、即使沒(méi)有性能影響,但獲取大量重復(fù)頁(yè)面也導(dǎo)致數(shù)據(jù)冗余
2、URL別名:有些 url 名稱不一樣,但是指向同一個(gè)資源。
爬蟲(chóng)陷阱
3、動(dòng)態(tài)虛擬空間:比如日歷程序,它會(huì)生成一個(gè)指向下一月的鏈接,真正的用戶是不會(huì)不停地請(qǐng)求下個(gè)月的鏈接的。但是不了解這內(nèi)容特性的爬蟲(chóng)蜘蛛可能會(huì)不斷向這些資源發(fā)出無(wú)窮的請(qǐng)求。
以上文章來(lái)源于網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系創(chuàng)一網(wǎng)的客服處理。謝謝!