scrapy中如何设置request的重试次数

在使用scrapy抓取数据的时候使用了代理IP,难免会遇到代理IP失效的情况。

因为对数据完整性要求较高,请问如何设置只要没有成功的返回response则把任务重新放进Request队列中去继续爬取?

可以使用scrapy自带的

scrapy.downloadermiddlewares.retry.RetryMiddleware

中间件,然后通过这几个参数进行配置:

RETRY_ENABLED

是否开启retry

RETRY_TIMES

重试次数,默认是3次

RETRY_HTTP_CODECS

遇到什么http code时需要重试,默认是500,502,503,504,408,其他的,网络连接超时等问题也会自动retry的

RETRY_HTTP_CODES = [500, 503, 504, 400, 403, 404, 408]

 

posted @ 2020-03-12 09:30  cknds  阅读(3031)  评论(0编辑  收藏  举报