关于代理ip无效的问题

来源:4-20 异步方式入库mysql

WittChen

2020-02-07

图片描述
老师,您好今天在使用代理ip的时候发现ip有些会无效,所以我想请教一个问题,如果代理ip无效,那么使用这个ip的url会重新发起请求,获取新的ip吗,如果不会,是不是scrapy就跳过这个url执行下一个了。如果这样的话有什么好的解决办法吗?

写回答

1回答

WittChen

提问者

2020-02-08

老师您好,今天我断点调试了下,我故意用无效的ip写到中间件中,scrapy请求失败后悔再次今日我的中间件,并根据我的逻辑随机了请求头以及更换了代理ip(这里我ip写死的所以会一直请求失败),好像是3次请求失败后,就会直接报错,我在想这个次数我们能不能控制,因为我想如果代理ip的质量不好的话,按照scrapy的方法只会重新发起请求3次,那么我觉得可能会在爬取数据的时候错过很多数据,所以我想如果遇到10060或者10061的时候能一直重新发起请求,知道更换到有效的代理IP为止,这点我攻克不了,请老师解惑

0
4
bobby
回复
我们不熟
在哪里重写不重要,重要的是你看一下RetryMiddleware的源码,然后将RetryMiddleware配置到settigns中即可
2020-09-13
共4条回复

Scrapy打造搜索引擎 畅销4年的Python分布式爬虫课

带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎

5795 学习 · 6290 问题

查看课程