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