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)

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

  • 扩展
  • 项目管道
  • 下载器中间件
  • 爬虫中间件

NotSupported

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

exception (scrapy.exceptions.NotSupported)
广告