Scrapy 异常
说明
不规则的事件被称为例外。在 Scrapy 中,由于缺少配置、从项目管道中删除项目等原因引发异常。以下是 Scrapy 中提到的异常列表及其应用。
项目管道利用此异常在任何阶段停止处理项目。可以写成-
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')
忽略请求
调度程序或下载程序中间件使用此异常来忽略请求。可以写成-
exception (scrapy.exceptions.IgnoreRequest)
未配置
它表示缺少配置的情况,应该在组件构造函数中引发。
exception (scrapy.exceptions.NotConfigured)
如果禁用以下任何组件,则可能引发此异常。
Extensions
Item pipelines
Downloader middlewares
Spider middlewares
不支持
当不支持任何功能或方法时会引发此异常。可以写成-
exception (scrapy.exceptions.NotSupported)