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)

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

  • 扩展
  • 项目管道
  • 下载器中间件
  • 蜘蛛中间件

不支持

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

exception (scrapy.exceptions.NotSupported)