Scrapy – 异常情况
描述
不规则事件被称为异常。在Scrapy中,异常是由于一些原因引起的,如配置丢失、从项目管道中删除项目等。以下是Scrapy中提到的异常列表和它们的应用。
DropItem
项目管道利用这个异常,在任何阶段停止对项目的处理。它可以被写成-
exception (scrapy.exceptions.DropItem)
关闭蜘蛛
这个异常是用来停止使用回调请求的蜘蛛。它可以被写成 –
exception (scrapy.exceptions.CloseSpider)(reason = 'cancelled')
它包含名为 ” 原因”(str) 的参数,指定关闭的原因。
例如,下面的代码显示了这个异常的用法 –
def parse_page(self, response):
if 'Bandwidth exceeded' in response.body:
raise CloseSpider('bandwidth_exceeded')
忽略请求
这个异常是由调度器或下载器中间件用来忽略一个请求的。它可以被写成 –
exception (scrapy.exceptions.IgnoreRequest)
NotConfigured
它表示配置缺失的情况,应该在组件构造函数中提出。
exception (scrapy.exceptions.NotConfigured)
如果以下任何组件被禁用,就会引发这个异常。
- Extensions
- Item pipelines
- Downloader middlewares
- Spider middlewares
不支持
当任何功能或方法不被支持时,就会引发这个异常。它可以被写成 –
exception (scrapy.exceptions.NotSupported)