爬虫应对IP封禁的一般性处理方法

**

封IP目前是很多网站常用的反爬虫手段,为了让广大爬虫少走弯路,本文整理了几种可行的封IP应对方法


**

1.通过设置Http请求头直接绕过

某些网站,由于网站开发者或者管理员安全意识不够,通过设置X-Forwarded-For头可以伪造任意IP。以IP138为例
爬虫应对IP封禁的一般性处理方法

如上图所示,通过修改X-Forwarded-For标头的值,可以任意伪造请求ip,配合随机IP使用,效果很好。但是目前存在此类漏洞的网站已经很少了,但是建议第一时间先尝试一下

2.ADSL拨号
爬虫应对IP封禁的一般性处理方法
原理就是ADSL断开重连之后,会更换IP。这种方式的优点是,IP质量很高,因为就是本机IP请求,但是局限性也很大,主要有以下缺点:

  1. 有IP段限制
  2. 拨号过程中会断网
  3. 一般不适合多线程使用
  4. 容易拨死

但是这种方式,如果拨号资源上去了(例如拨号机房),配合CCProxy等工具使用,可以引发质变(类似很多网站在售卖的自建动态代理)
爬虫应对IP封禁的一般性处理方法
爬虫应对IP封禁的一般性处理方法
3.使用代理IP

即对发送请求设置代理IP,代理IP按照匿名程度,可以分为匿名代理,透明代理等,区别就是对方的服务器能否知道你的真实IP地址。很多网站无论你使用的是什么代理,都会取代理IP的值(为了防范第一种方式提到的漏洞),所以对于爬虫来说,匿名代理和透明代理都是可以用的。市面上售卖的代理IP多为扫描器扫描代理,时效性在几分钟到几小时不等,配合多线程可以满足抓取需求。由于此类代理IP来源不单一,优质,劣质,国内,国外都有,因此使用时注意设置TimeOut,如果发起的是Post请求,还要注意设置读写超时(C#中为HttpWebRequest.ReadWriteTimeout属性)。
爬虫应对IP封禁的一般性处理方法

本文推荐射线自营产品 射线代理

上文三种方法都是硬刚目标网站的封IP措施,实际爬取过程中,还是尽量调低频率,避免对目标网站造成过大压力。程序员何苦为难程序员!


关注公众号 “射线网络” 回复 “提交工具” 即可获得本文使用的模拟提交工具

爬虫应对IP封禁的一般性处理方法