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

标签 python scrapy http-status-codes

我正在从几千个页面中抓取数据,一般 URL 为:

http://example.com/database/?id=(some number)

我在其中运行 ID 号。

我不断遇到生成 500 内部服务器错误的大量 URL,并且 scrapy 出于某种原因多次遍历这些 block 。这会占用很多时间,所以我想知道是否有一种方法可以立即移动到下一个 URL 而不会多次发送 scrapy 发送请求。

最佳答案

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

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

一起禁用 RetryMiddleware

参见 RetryMiddleware settings了解更多。

关于python - 如果我在 Scrapy 中收到 500 内部服务器错误,我该如何跳过该 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23797421/

相关文章:

spring - Spring ConversionFailedException 错误 HTTP 状态的自定义

python - 为什么元类有类型?

regex - scrapy 和 xpath 函数 'matches' 语法

asp.net-mvc - 找不到内容时,ASP.NET MVC 重定向到默认页面/路由

http - 如何使用服务器端事件处理错误和状态代码

mysql - scrapy 和 mysql

python - MySql/Python 中的混合列求和

Python flask @app.errorhandler(Exception) 得到完整的错误,而不仅仅是描述

Python 选择特定的行和列

python - 类型错误 : 'Request' object is not subscriptable