经常看到uu们分享,自己向厂商购买了HTTP代理,但是还是经常被封,导致自己无法按时完成作业,项目无法完成,那该如何解决这一问题呢?
只要思想不滑坡,办法总比困难多,我们可以尝试以下方法:
1.User-Agent伪装和轮换
需要注意的是,不同浏览器的不同版本都有不同的User-Agent,所以,我们可以准备多一些的User-Agent,把它们都放在一个列表中,要使用的时候,每次随机选一个,这样我们就能达到每次请求的时候使用的都是不同的User-Agent,也可以有效防止反爬。
2.优化爬虫策略
首先,我们要看此前被封的时候返回的是什么HTTP码,以此来优化我们的爬虫策略,
HTTP返回码  | 说明  | 
302  | 出现302一般有2种情况 
  | 
400  | 客户端错误。客户端协议无法被识别  | 
407  | 授权错误,出现407一般有3种情况 
  | 
408  | 目标站不可达。服务端与目标站建连失败,服务端不可达或者当前HTTP代理掉线  | 
429  | 请求数超出。隧道产品中用户QPS大于购买的请求数;独享和共享产品中,用户当前的代理tcp连接超出限制数  | 
431  | 请求头过大。出现在http代理中,header头部信息过多导致  | 
500  | 服务器内部错误  | 
503  | 当前代理协议不支持,比如ss代理协议  | 
508  | 代理目标站为HTTP代理地址导致死循环。一般不出现  | 
现在的互联网,很多网站都是设置了反爬机制,如果我们一直使用同一个HTTP代理短期内一直访问该网站,是非常容易触发反爬机制,限制这种访问;或者因为我们的爬虫抓取的速度过快,网站方能很轻松判别我们不是真实用户……
我们需要做的是:
降低抓取频率,重新设置访问时间间隔
我们需要把自己伪装成一个真实的用户在访问,降低访问的频率及频次,把访问的间隔时间设置成或长或短,即:随机数。
3.优质的HTTP代理
尽量不要使用免费的HTTP代理,因为免费的HTTP代理反而是最贵的(成本),此类HTTP代理往往是匿名级别是透明的,网站能轻松识别到我们的真实IP。所以需要使用高匿的HTTP代理,而向厂商购买,大概率买的都是高匿名的,会比较优质。
整理了一份市面上的动态短效代理表格,给有缘人:
分类  | 代表厂商  | 白名单数  | 基础套餐 (元/月)  | 平均IP单价 (元/IP)  | 
按时计费-以IP通道为增量  | 青果网络  | 256  | 29  | 0.0006  | 
小象代理  | 5  | 109  | 0.0050  | |
按时计费-以每日IP量为增量  | 巨量代理  | 5  | 155  | 0.0049  | 
豌豆代理  | 5  | 300  | 0.0025  | |
讯代理  | 1  | 210  | 0.0583  | |
品易代理  | 20  | 120  | 0.0070  | |
芝麻代理  | 5  | 360  | 0.0182  | |
按量计费  | 青果网络  | 256  | 30  | 0.0030  | 
豌豆代理  | 5  | 200  | 0.0200  | |
小象代理  | 5  | 100  | 0.0100  | |
巨量代理  | 5  | 75  | 0.0140  | |
品易代理  | 20  | 100  | 0.0100  | |
芝麻代理  | 5  | 420  | 0.0420  | 
总的来说,从单价来看,按时大概是这个排名:
青果网络<豌豆代理<巨量代理<小象代理<讯代理<品易代理<芝麻代理
按量:
青果网络<小象代理=品易代理<巨量代理<安慰你都代理<芝麻代理
当然,最重要除了成本调控,还有一个就是效果,毕竟也不是大冤种,无论花多少钱,都是想要看到效果的。
索性我是做过了第一家的测试:

总体而言还不错。









