爬虫如何做到伪装和防Ban的?

b b b

爬虫如何做到伪装和防Ban的?

  在一次真实的ip请求中,我们都会带着各种样的请求参数,如果将这些参数补全,那我们被ban的机率也会相应的减少很多。如何将这些参数在scrapy的项目补齐?在开始这个问题之前,我们回头来看看scrapy的架构。

 

 

  从架构中我们可以清晰的看到,如果要操作这些参数,我们可以从DownloaderMiddlewares下载中间件着手,有人可能会有疑问:记得Spider中有一个start_requests的方法,不是可以写到代码中么Scrapy在架构和django都有点类似,那就是松散耦合的原则,各个功能和文件都应该各司其职。现在我们要实现这样的一个功能,在我们请求的时候,我们可以随机的更换请求头(User-Agent)

 

  那就是透明http代理。那是不是不用透明http代理就可以隐藏自己的身份呢?是的,只不过,普通匿名http代理虽然不知道真实身份,但是知道你是个卧底。只有高匿名ip代理才能做到如假包换。要想识别代理服务器软件的等级并不复杂,只需要通过脚本程序(如ASPPHPJSP等)即可在服务器端识别出来,识别的办法就是抓数据包里的相关字段:REMOTE_ADDR,HTTP_VIA以及HTTP_X_FORWARDED_FOR。

 

版权声明:本文为ipadsl.cn所属公司原创作品,未经许可,禁止转载!