在使用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]

 

相关文章:

  • 2021-09-21
  • 2021-08-29
  • 2022-12-23
  • 2021-07-11
  • 2021-07-27
  • 2022-02-07
  • 2021-07-25
猜你喜欢
  • 2022-02-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-19
  • 2021-07-14
  • 2021-08-01
相关资源
相似解决方案