如果我在Scrapy中收到500内部服务器错误,我该如何跳过该URL?

gal*_*lei 5 python http-status-codes scrapy

我正在使用以下常规网址抓取数千页的数据:

http://example.com/database/?id=(some number)
Run Code Online (Sandbox Code Playgroud)

我在哪里运行身份证号码.

我一直遇到大量的URL,这些URL会产生500内部服务器错误,并且由于某种原因,scrapy会多次遍历这些块.这会花费很多时间,所以我想知道是否有办法立即转移到下一个URL并且没有多次scrapy发送请求.

pau*_*rth 7

重试500个错误的组件是RetryMiddleware.

如果您不希望Scrapy重试收到500状态代码的请求,settings.py您可以设置RETRY_HTTP_CODES为不包括500(默认为[500, 502, 503, 504, 400, 408]),或者完全禁用RetryMiddlewareRETRY_ENABLED = False

有关更多信息,请参阅RetryMiddleware设置.