切换随机ip的问题

来源:8-5 通过downloadmiddleware随机更换user-agent - 2

小屁孩屁小

2020-04-19

老师您好, 我现在在用收费的代理ip,每个ip有效期在1分钟到5分钟之间. 每次请求都跟换ip一天下来差不多要15块毛爷爷. 由于爬取的是国外的网站,代理的ip可能出现不能用的情况.我把不能用的ip都保存到redis中去了每次获取ip后都回去redis中比对,但是每个ip如果他有效期是5分钟,但我只使用一次的话,浪费有点大! 我们这样写随机ip中间件的话,必然每次请求都会跟换ip. 我想在retrymiddleware中判断返回状态,再取ip.这种方法可行吗? 图片描述

写回答

1回答

bobby

2020-04-21

可以啊,你的middleware中处理reponse的时候 根据返回的状态码确定应该如何取ip就行了,但是scrapy默认对某些http状态码会有默认的处理流程 比如返回500会自动重试,不同的状态码你可以通过设置防止默认状态码被处理 而转由自己处理

0
1
小屁孩屁小
非常感谢!
2020-04-21
共1条回复

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

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

5796 学习 · 6290 问题

查看课程