Scrapy 异常

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

DropItem

物品管道利用此异常来停止在任何阶段处理物品。它可以写成:

exception (scrapy.exceptions.DropItem)

CloseSpider

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

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)

 

NotConfigured

它表示缺少配置情况,应该在组件构造函数中提出。

exception (scrapy.exceptions.NotConfigured)

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

  • 扩展
  • Item pipelines
  • 下载中间件
  • 蜘蛛中间件

 

不支持

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

exception (scrapy.exceptions.NotSupported)