注意: IP精灵代理仅提供国内ip网络节点,不提供境外网络节点,不能用于任何非法用途或访问境外封闭网站,不能跨境联网,只能用于合法的国内网络加速。

您好,请登录 没有账号?

首页 > 新闻资讯 > 反反爬策略:随机更换请求对象的IP信息

反反爬策略:随机更换请求对象的IP信息

来源:互联网 作者:admin 时间:2019-04-15 15:09:11

爬虫的目的就是为了模拟点击浏览器操作的行为,在反反爬策略中,最基础的就是更换User-Agent。User-Agent的作用是方便服务器识别,当前请求对象的身份信息。无法从身份属性来识别是否是机器操作,网站服务器只能通过其他信息来辨别,区别机器和正常用户。识别IP访问频率,判断cookie信息,添加验证码操作等都是常见的网站反爬操作。下面具体来讲讲反反爬策略:随机更换请求对象的IP信息。

反反爬策略:随机更换请求对象的IP信息

Scrapy中,更换请求对象的IP信息非常的方便,只需要在request对象进入下载器之前,修改request对象的参数信息。

所以我们需要在下载器中间件 Download_middleware中自定义一个下载器中间件ProxiesMiddleware,在process_request()函数中修改request对象信息。

其中 PROXIES_LIST 是构建的代理列表。

process_request的参数分别是request当前请求对象,spider当前的爬虫对象。

返回None,Scrapy将继续处理该Request;

返回Request对象时,这个Reuqest会重新放到调度队列里,更低优先级的process_reqyest()函数不会执行;

返回Response对象时,直接将Response对象发送给Spider来处理。

现在每次发送一次请求,请求对象的IP信息就会从配置中的代理IP池中随机挑选一个。不同的IP就会迷惑服务器监控,不会对本次请求做反爬处理了。至此,我们的爬虫就能顺顺当当的获取数据了。好了,本期结束,大家散会吧。

NO! NO! NO!这还远远不够,这才只是代理的第一步。没有哪个代理是能保证百分之百成功的。付费代理也好,免费代理也好,即使是高匿代理也只不过是提高了防反爬的几率,并没有说一定会成功的。

请求失败的解决方案有两种:

1. 多试几次,直到请求成功,不成功就报错。

2. 换一个IP试试,直到换成请求成功的代理。对代理质量要求必须高。如果代理池质量很差,项目就会陷入死循环中。

解决逻辑是: 设置重试次数,达到指定次数就换IP。

幸运的是Scrapy框架中自带了处理失败请求的中间件RetryMiddleware。

注释的部分是添加的加入代理的逻辑,需要继承RetryMiddleware之后再重写。

在settings中设置最大重试次数以及需要进行重试的异常状态码列表。

关闭Scrapy自带的RetryMiddleware中间件,开启自定义的Retry中间件。

启动项目测试。遇到失败的请求会重新发送,超过最大重试次数以后返回一个空的数据。

这就是我们预期的结果了,剩下的就是提高代理池的质量,就能最大程度的保证爬虫的可用性了。


最新资讯

推荐阅读

  1. 18

    2019-04

    使用VPN修改IP的原理是什么

    使用VPN更改IP地址,让您刷IP统计更简单,相信大家都很好气,使用VPN修改IP的原理到底是什么,本文就来给大家普及一下。大家都知道,ip地址就好比网络世界的身份证,通过IP地址甚至可以推

  2. 10

    2018-12

    爬虫通常采集哪些信息?有风险性吗?

    虽然说如果你有技术,什么数据都能爬取到,即使有各种反爬虫设置,但也可以利用各种工具进行突破限制,比如可以突破IP限制的代理IP软件。然而,有些数据是禁止爬取的,如果爬取...

  3. 19

    2019-06

    爬虫为什么需要HTTP代理IP

    爬虫为什么需要HTTP代理IP?大数据高速发展时代,爬虫行业日益火爆,从业者如过江之鲫,数不胜数,说到爬虫就不得不提另外一个词:代理IP。爬虫虽然大行其道,但相应的反爬虫也步步紧逼

  4. 29

    2019-04

    如何通过爬虫代理IP快速获取大量数据

    数据信息内容是创造和决策的原材料,高质量的数据信息内容都价值不菲。而利用网络爬虫,小编们可以获取大量的价值数据信息内容,经分析可以发挥巨大的价值,今天我们就来讲讲如何通过

  5. 05

    2019-05

    怎样检测ip代理的有效性?

    当大家在使用ip代理,一般都是采用付费的,由于免费的ip代理可用率很低,有效性也很低,并且在用前还要检测ip的有效性,所以怎样检测ip代理的有效性呢?接下来就和大家分享一些有关测试i

  6. 04

    2019-06

    动态IP市场如何?哪些地方会用到动态IP?

    通常固定网站是不会使用动态IP的,因为它不利于网站的后续发展,所以建站使用的是固定IP的VPS。但如果网站的业务就是为了数据采集或者信息处理,那动态IP就很有用,因此市场空间也比较广

在线客服
大客户VIP渠道
点击这里给我发消息
讨论QQ群
HTTP代理IP爬虫
客服电话
13318873961