Scrapy - Exceptions

描述

不规则事件称为例外.在Scrapy中,由于诸如缺少配置,从项目管道中删除项目等原因引发异常.以下是Scrapy及其应用中提到的异常列表.

DropItem

项目管道利用此例外在任何阶段停止处理项目.它可以写成 :

 
 exception(scrapy.exceptions.DropItem)

CloseSpider

此异常用于使用回调请求停止蜘蛛.它可以写成 :

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

它包含名为 reason(str)的参数,它指定了关闭的原因.

例如,以下代码显示此异常使用 :

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

IgnoreRequest

调度程序或下载程序中间件使用此异常忽略一个请求.它可以写成 :

exception(scrapy.exceptions.IgnoreRequest)

NotConfigured

它表示缺少配置情况,应该在组件构造函数中引发.

exception(scrapy.exceptions.NotConfigured)

如果禁用以下任何组件,则可以引发此异常.

  • 扩展程序

  • 项目管道

  • 下载程序中间件

  • Spider中间件

NotSupported

当不支持任何功能或方法时,会引发此异常.它可以写成 :

exception(scrapy.exceptions.NotSupported)