如果你注意到你獲取的信息內(nèi)容與目標(biāo)網(wǎng)站屏幕上顯示的正常信息不同,換句話說,你抓取的信息是空白的,那么很有可能你抓取的網(wǎng)站的程序在創(chuàng)建網(wǎng)頁時(shí)出現(xiàn)了問題。如果爬行頻率超過目標(biāo)在線平臺的限制閾值,將被禁止進(jìn)入。一般來說,IP是網(wǎng)站防rip機(jī)制的基礎(chǔ)。當(dāng)我們?yōu)g覽網(wǎng)站時(shí),我們的IP地址會被記錄下來,服務(wù)器會把你當(dāng)成爬蟲程序。所以頻繁的抓取會使現(xiàn)有的IP地址無法使用,我們必須想辦法改變自己設(shè)備的IP地址或者現(xiàn)有的爬蟲程序。
因此,網(wǎng)絡(luò)爬蟲開發(fā)者一般需要采用兩種技術(shù)手段來處理這類問題。
1、用世界數(shù)據(jù)動態(tài)撥打vps服務(wù)器設(shè)置代理IP,克服反爬蟲系統(tǒng)進(jìn)行高頻抓取,因此需要多個(gè)穩(wěn)定的代理IPS。基于ADSL撥號的常見解決方案。一般在爬行過程中禁止訪問時(shí),可以再次進(jìn)行ADSL撥號,獲取新的IP,這樣爬行就可以繼續(xù)了。但是多站點(diǎn)多線程抓取時(shí),如果禁止某個(gè)網(wǎng)站的抓取,也會對其他網(wǎng)站的抓取造成危害,總體上也會降低獲取速度。
2、放慢抓取速度,這樣對目標(biāo)網(wǎng)站的壓力會相對減小,但這樣做,單位時(shí)間的抓取量會相對減小。
另一種可能的解決方案也是基于ADSL撥號。不同的是,需要兩個(gè)能夠ADSL撥號的動態(tài)撥號VPS,這兩個(gè)服務(wù)器在抓取過程中作為代理。假設(shè)有兩臺服務(wù)器,A和B,可以撥打ADSL。爬蟲運(yùn)行在C服務(wù)器上,使用A作為代理訪問外部網(wǎng)絡(luò)。如果在爬行過程中禁止訪問,代理立即切換到B,然后A被重?fù)堋H绻俅谓乖L問,則切換到A作為代理,B再次撥號,以此類推。
在實(shí)際的爬行過程中,仍然有許多問題需要我們根據(jù)實(shí)際情況進(jìn)行分析和解決。在很大程度上,爬蟲爬行是一項(xiàng)麻煩和困難的工作,因此已經(jīng)開發(fā)了許多軟件來解決爬蟲程序的各種問題。有不懂的請咨詢夢飛云idc了解。