網絡爬蟲沒有代理IP能正常運行嗎?爬蟲一定要用代理IP嗎?很多人認為爬蟲必須使用代理IP,沒有代理IP會移動困難,也有人認為代理IP沒有必要。那么他們這么想的原因是什么呢?
有朋友說他用一個機車收集器收集了一些文章,然后篩選出符合自己要求的進行加工。他從來不用代理IP,一天收一萬篇左右。他認為沒有代理IP。
有朋友說自己寫爬蟲程序,公司的任務是一天爬幾十萬個頁面。有時候任務多的時候,一天就要幾百萬。抓取IP時會被屏蔽。沒有代理IP,是不可能的。他認為,沒有代理IP爬蟲,就很難移動。
顯然他們說的很有道理,都用自己的經歷證明了自己的觀點。其實爬蟲本質上是一個訪問網頁的用戶,只是一個沒有那么自律的特殊用戶,而服務器一般不歡迎這樣的特殊用戶,所以總是用各種手段去發現和禁止。最常見的就是判斷你的訪問頻率,因為普通人訪問網頁的頻率并不是很快。如果發現某個IP訪問速度過快,就會封禁。
任務量不是很大的時候,也就是像第一個朋友那樣,可以慢慢爬,頻率不是很快。在目標服務器看來,是可以忍受的,而且不影響正常運行,這樣IP就不會被屏蔽,所以他不用代理IP就可以完成每天的任務量。
當任務量比較大的時候,比如第二個朋友,一天幾十萬上百萬的數據,爬得慢的話就完不成任務了。如果他爬得快,目標服務器壓力太大,IP被封,任務也無法完成。我能怎么做呢?只靠代理IP解決。
比如一個IP短時間內被訪問100次,就會被目標服務器認為速度太快,導致IP被屏蔽。但如果10個代理IP短時間內被訪問10次,就不會被認為太快而屏蔽。當任務量巨大時,使用代理IP往往能事半功倍,這也是為什么有人認為沒有代理IP就沒有網絡爬蟲。