Skip to main content

例外

内置异常引用

以下是Scrapy中包含的所有例外列表及其用法。

DropItem

exception scrapy.exceptions.DropItem

必须由项目管道阶段提升以停止处理项目的异常。有关更多信息,请参阅 项目管道

关闭蜘蛛

exception scrapy.exceptions.CloseSpider(reason='cancelled')

这个异常可以从一个蜘蛛回调中提出来请求关闭/停止蜘蛛。支持的参数:

参数:reason (str) – 关闭的原因

例如:

def parse_page(self, response):
    if 'Bandwidth exceeded' in response.body:
        raise CloseSpider('bandwidth_exceeded')

IgnoreRequest

exception scrapy.exceptions.IgnoreRequest

调度程序或任何下载程序中间件可能会引发此异常,以指示应忽略该请求。

未配置

exception scrapy.exceptions.NotConfigured

某些组件可能会引发此异常,以指示它们将保持禁用状态。这些组件包括:

  • 扩展

  • 项目管道

  • 下载中间件

  • 蜘蛛中间件

必须在组件的 __init__ 方法中引发异常。

不支持

exception scrapy.exceptions.NotSupported

引发此异常以指示不支持的功能。