爬蟲必須使用代理IP嗎?很多人認(rèn)為要做爬蟲,必須用代理IP,否則爬不起來。實(shí)際上,情況并非如此。如果爬行數(shù)據(jù)很少,比如一天在一個(gè)網(wǎng)站上爬行幾千篇文章,不用代理IP就可以快速完成。
爬蟲程序本質(zhì)上也是一個(gè)訪問網(wǎng)頁的用戶,但是這個(gè)用戶是逆天的,訪問頻率反人類,對(duì)服務(wù)器造成很大的壓力。服務(wù)器必須采用各種策略來限制或禁止爬蟲程序,這就是為什么需要代理IP的原因。
如果爬蟲程序訪問的頻率和次數(shù)在服務(wù)器反爬策略允許的范圍內(nèi),自然不需要代理IP;如果爬蟲抓取的數(shù)據(jù)太大,必須由多線程、高并發(fā)的多臺(tái)機(jī)器進(jìn)行抓取,必須使用代理IP來幫助完成任務(wù)。
很多朋友說可以用ADSL撥號(hào)服務(wù)器解決IP阻塞的問題,不需要代理IP。ADSL撥號(hào)通常在斷開和重?fù)芎蟮玫揭粋€(gè)新的ip,然后繼續(xù)爬行。但是,有一個(gè)問題。撥號(hào)和重?fù)鼙仨氶g隔進(jìn)行,因此運(yùn)行的程序?qū)⒈恢袛?。因此,必須?zhǔn)備幾臺(tái)ADSL服務(wù)器作為代理,然后爬蟲將在另一臺(tái)服務(wù)器上不間斷地運(yùn)行。當(dāng)然,大數(shù)據(jù)抓取太麻煩了。
因此,大型爬蟲的一般任務(wù)是選擇代理IP來解決防爬策略的局限性。