對(duì)于爬蟲(chóng)用戶(hù)來(lái)說(shuō),網(wǎng)站的反爬行機(jī)制可以說(shuō)是他們的頭號(hào)敵人。反抓取機(jī)制是為了防止爬蟲(chóng)過(guò)于頻繁地抓取數(shù)據(jù),導(dǎo)致服務(wù)器負(fù)載過(guò)重,導(dǎo)致服務(wù)器崩潰而設(shè)置的一種機(jī)制。它實(shí)際上有幾種不同的工作方式,所以我們來(lái)討論一下
1. 通過(guò)Under Armour機(jī)制識(shí)別爬行者。
Under Armour的全稱(chēng)是User Agent,這是請(qǐng)求瀏覽器的標(biāo)識(shí)。許多網(wǎng)站使用它作為一個(gè)識(shí)別爬蟲(chóng)。如果訪問(wèn)請(qǐng)求的報(bào)頭中沒(méi)有Under Armour,則判斷它為爬蟲(chóng)。但是因?yàn)檫@種反爬蟲(chóng)機(jī)制很容易被人盯上,也就是隨機(jī)安德瑪,所以這種反爬蟲(chóng)機(jī)制很少被使用。
2. 按訪問(wèn)頻率識(shí)別爬蟲(chóng)。
爬蟲(chóng)為了保證效率,往往會(huì)在短時(shí)間內(nèi)多次訪問(wèn)目標(biāo)網(wǎng)站,所以可以通過(guò)單個(gè)IP的訪問(wèn)頻率來(lái)判斷是否是爬蟲(chóng)。而且這種防爬方法很難被防爬機(jī)制對(duì)抗,只能通過(guò)改變代理IP來(lái)保證效率。如,IP模擬器的代理IP就是一個(gè)不錯(cuò)的選擇。
3. 通過(guò)Cookie和驗(yàn)證碼識(shí)別爬蟲(chóng)程序。
Cookie是指會(huì)員帳戶(hù)密碼的登錄驗(yàn)證,并通過(guò)限制單個(gè)帳戶(hù)的爬行頻率來(lái)限制爬行器的爬行。但是,驗(yàn)證碼是完全隨機(jī)的,不能被爬蟲(chóng)腳本正確識(shí)別,而且它也會(huì)限制爬蟲(chóng)程序。
以上是防爬機(jī)構(gòu)的一些方法。在遇到爬蟲(chóng)時(shí),用戶(hù)需要找到相應(yīng)的防爬蟲(chóng)機(jī)制來(lái)進(jìn)行處理,下一篇文章中,我們將討論如何應(yīng)對(duì)。