1. 程式人生 > >文章正在審核中 為什麽使用了爬蟲代理ip,真實IP還是被封禁了?

文章正在審核中 為什麽使用了爬蟲代理ip,真實IP還是被封禁了?

coo .com 可能 地址 adsl 開心 我們 用戶訪問 作者

很多朋友在剛做爬蟲的時候會遇到一個問題,明明我已經使用爬蟲代理ip了,開開心心地去抓取某一個網站,正想去泡一杯咖啡,發現爬蟲程序終止了, 一查,真實ip被封了,這時候會非常納悶,我明明用了代理ip了啊,為什麽我的真實IP還是會被封呢?是不是IP質量與問題?我被代理IP提供商給欺騙了?

當然不排除這個可能,比如使用透明代理,目標服務器明確知道你使用了代理,也能知道你的真實IP,當然會被封禁;又如普匿代理,目標服務器知道你是一只披著羊皮的狼,當然也會封禁你的真實IP;而如果使用高匿代理ip,高匿ip代理則是和正常家庭上網一樣,沒有什麽區別。如果使用透明代理、普匿代理被目標服務器識別後被封IP,那應該就是代理IP的質量不行。但是,使用高匿代理IP後,還是被封IP,這到底是怎麽回事呢?

首先我們要清楚地知道,爬蟲程序為什麽需要代理IP?代理IP有什麽作用?代理IP的原理是什麽?之所以需要代理IP,是因為單IP頻繁的爬取某個目標服務器,會對服務器造成巨大負載,服務器自然要作出一定的限制(限制訪問頻率或者限制訪問次數,其根本是減少服務器壓力),那如果超出限制的頻率或者次數呢,反爬程序就會工作,比如把這個IP封禁,或者把整段IP進行封禁。而代理IP的作用就是代替被封的IP繼續爬取,當到達了那個閾值時,這個代理IP一樣會被封的,然後封了一個代理IP,還有千千萬萬個代理IP,前仆後繼,只為完成爬取任務。由此可見,代理IP被封是很正常的,很多朋友認為,我用了代理IP,為什麽要封我,我是不是買了個垃圾IP代理?然後就來找客服投訴,說自己被騙了,要求退款。

其實封IP有很多種原因,上面那種被封情況是不可避免的,並不是使用了代理IP就不會被封了。但也有不正常被封的,比如使用了“垃圾代理”(透明代理)。還有使用了高匿代理ip,也沒有爬取幾次就被封了的情況,這是為什麽呢?那是因為沒有很好的模擬人工訪問服務器的行為,也就是說爬取策略不當,比如沒有清除cookie等原因,也有可能是目標服務器的反爬策略升級了,代理IP被封的原因有很多種,而找出原因,讓每個代理IP能發揮出最大的作用則是爬蟲工作者的工作職責,也就是升級爬蟲策略。

上文中我們提到,當超出限制的頻率或者次數呢,反爬程序就會工作,比如把這個IP封禁,或者把整段IP進行封禁。這也就是為什麽有些代理IP可用率低的原因,因為當某個IP段被封禁後,你撥出的下一個IP也是被封禁的,所以不可用,造成整體IP可用率很低,浪費很多時間,這是為什麽呢?

因為很多ADSL撥號的代理IP,撥出來的IP是連號的, 這樣的IP顯得很假,跟正常用戶訪問的區別也很大,所以會有很多反爬程序會設置封禁整段IP地址,造成批量IP不可用,所以最好的IP資源是IP分散分布的不連號的,能夠有效地提高各項業務的效率。

文章正在審核中 為什麽使用了爬蟲代理ip,真實IP還是被封禁了?