佛山整站優(yōu)化之如何才能防止爬蟲(chóng)惡意采集網(wǎng)站內(nèi)容
對(duì)于SEO優(yōu)化來(lái)說(shuō)zui討厭的就是抄襲行為,而爬蟲(chóng)技術(shù)則是抄襲手段的升級(jí)版,通過(guò)一個(gè)規(guī)則去全網(wǎng)爬取內(nèi)容進(jìn)行發(fā)布。將抄襲實(shí)現(xiàn)了自動(dòng)化,各個(gè)站點(diǎn)面對(duì)這種行為也是無(wú)可奈何。下面小編就來(lái)介紹一些防爬蟲(chóng)的方法,希望對(duì)大家有所幫助。
1、基于程序本身去防止爬取
作為爬蟲(chóng)程序,爬取行為是對(duì)頁(yè)面的源文件爬取,如爬取靜態(tài)頁(yè)面的html代碼,可以用jquery去模仿寫(xiě)html,這種方法偽裝的頁(yè)面就很難被爬取了,不過(guò)這種方法對(duì)程序員的要求很高。
2、User-Agent屏蔽
User-Agent也就是http請(qǐng)求頭,當(dāng)客戶(hù)端訪問(wèn)的時(shí)候,服務(wù)器就可以接收到訪問(wèn)者的User-Agent。我們可以通過(guò)設(shè)置屏蔽常見(jiàn)的爬蟲(chóng)的User-Agent名,比如python、robots等。
但是這種方法的弊端很明顯首先爬蟲(chóng)的User-Agent可以說(shuō)是各式各樣,只能發(fā)現(xiàn)了去屏蔽。并且如果是處于惡意爬取為目的的,基本上會(huì)把User-Agent偽裝成瀏覽器,很難去發(fā)現(xiàn)。
3、IP訪問(wèn)頻次限制
通過(guò)檢測(cè)ip請(qǐng)求的頻次來(lái)限制訪問(wèn),當(dāng)爬蟲(chóng)進(jìn)行爬取的時(shí)候會(huì)在短時(shí)間內(nèi),在同一個(gè)IP下頻繁抓取不同的頁(yè)面。我們可以設(shè)置一個(gè)閾值,同一個(gè)IP在多少時(shí)間內(nèi)訪問(wèn)超過(guò)多少個(gè)頁(yè)面就屏蔽當(dāng)前IP或者通過(guò)驗(yàn)證碼來(lái)驗(yàn)證是否是正常訪問(wèn)。
這種方法的弊端就是,如果采用多個(gè)IP并且降低抓取的速度就可以繞過(guò)這個(gè)防御機(jī)制。
4、機(jī)智應(yīng)對(duì)爬蟲(chóng)
想要高準(zhǔn)確度識(shí)別人和爬蟲(chóng)就要首先找到兩者zui大的差異;一個(gè)明顯的差異就是人永遠(yuǎn)只會(huì)去訪問(wèn)眼睛能夠看見(jiàn)的東西,而爬蟲(chóng)只要去源碼里有的網(wǎng)址都會(huì)去訪問(wèn)。
因此我們可以使用一個(gè)img標(biāo)簽實(shí)現(xiàn)精準(zhǔn)的爬蟲(chóng)識(shí)別。我們可以使用一個(gè)1個(gè)像素點(diǎn)圖片,放在導(dǎo)航欄或者網(wǎng)站頁(yè)面,顏色就融于這個(gè)環(huán)境,并且放在角落邊;這樣人眼首先看不到這張圖片,其次非常的小根本不可能點(diǎn)擊到標(biāo)簽,不會(huì)觸發(fā)防御地址。
然而爬蟲(chóng)則會(huì)去抓取頁(yè)面的所有鏈接,當(dāng)然我們不一定必須使用img標(biāo)簽,我們只要放下這種類(lèi)似的陷阱,一但某個(gè)ip觸發(fā)這個(gè)防御地址,就直接秒封當(dāng)前ip。
5、特點(diǎn)注意事項(xiàng)
搜索引擎蜘蛛的放開(kāi),搜索引擎蜘蛛本質(zhì)上也是爬蟲(chóng),用上述的方法的時(shí)候都要謹(jǐn)慎的處理。需要做好搜索引擎蜘蛛的鑒別,千萬(wàn)不要把搜索蜘蛛也屏蔽了。
我們可以通過(guò)設(shè)置白名單,將允許訪問(wèn)的蜘蛛的ip端放入白名單不做屏蔽,千萬(wàn)不要通過(guò)User-Agent中蜘蛛的UA名來(lái)識(shí)別,太容易偽造。不過(guò)這種方法的問(wèn)題就是如果搜索引擎增加新的蜘蛛IP段的時(shí)候會(huì)誤傷。
因此對(duì)于,觸發(fā)機(jī)制的User-Agent是搜索引擎蜘蛛的時(shí)候,我們需要去執(zhí)行nslookup反查這個(gè)ip看它解析到哪里來(lái)鑒別是其真實(shí)性。
如果站點(diǎn)的規(guī)模很大,有一定知名度實(shí)力,對(duì)于造成了一個(gè)的損失。那么就直接保留日志證據(jù),請(qǐng)對(duì)方吃牢飯。