網(wǎng)絡(luò)爬蟲沒有代理IP真的不可能嗎? 有朋友問:爬蟲一定要使用代理IP嗎? 很多人認(rèn)為爬蟲必須使用代理IP,沒有代理IP就很難做到。 其他人說不需要代理IP。 那么他們這樣認(rèn)為的原因是什么呢?
朋友說他用機(jī)車收集器收集了一些文章,然后篩選出符合他要求的進(jìn)行處理。 他從未使用過代理IP。 每天收集約10,000件。 他認(rèn)為沒有可以正確抓取的代理IP。
朋友說自己寫了爬蟲程序。 該公司的任務(wù)是每天抓取數(shù)十萬頁。 有時(shí),當(dāng)任務(wù)很多時(shí),一天要花費(fèi)數(shù)百萬。 爬了又爬,IP被封了。 沒有代理IP一點(diǎn)都不好,他認(rèn)為沒有代理IP爬蟲很難做到。
顯然,他們說的很有道理,而且他們用親身經(jīng)歷證明了自己的觀點(diǎn)。 實(shí)際上,爬蟲本質(zhì)上就是訪問網(wǎng)頁的用戶。 只是一個(gè)不那么聽話的特殊用戶而已。 服務(wù)器一般不歡迎這樣的特殊用戶,總是用各種手段去發(fā)現(xiàn)和禁止。 最常見的就是判斷你的訪問頻率,因?yàn)槠胀ㄈ嗽L問網(wǎng)頁的頻率不會(huì)很快,如果你發(fā)現(xiàn)某個(gè)IP訪問太快,這個(gè)IP就會(huì)被屏蔽。
任務(wù)量不是很大的時(shí)候,像第一個(gè)朋友,可以慢慢爬,但是頻率不是很快。 從目標(biāo)服務(wù)器來看,在不影響正常運(yùn)行的情況下是可以容忍的。 可以屏蔽IP,所以他可以在沒有代理IP的情況下完成日常任務(wù)。
當(dāng)任務(wù)量比較大的時(shí)候,比如第二個(gè)朋友,一天有幾十億的數(shù)據(jù),慢慢爬就完成不了任務(wù)。 如果你加快爬升,目標(biāo)服務(wù)器將承受太大的壓力。 IP將被封鎖,任務(wù)也將無法完成。 那怎么辦呢,只能用代理IP來解決問題了。
比如一個(gè)IP在短時(shí)間內(nèi)被訪問100次,目標(biāo)服務(wù)器就會(huì)認(rèn)為訪問速度過快,導(dǎo)致IP被阻塞。 如果10個(gè)代理IP在短時(shí)間內(nèi)訪問10次,不會(huì)被認(rèn)為是過早屏蔽。 當(dāng)工作量巨大時(shí),使用代理IP往往可以事半功倍,這也是為什么人們認(rèn)為沒有代理IP就沒有網(wǎng)絡(luò)爬蟲的原因。