Scrapy1.5基本概念(十二)——异常(Exceptions)

本文为译文,原文见地址:https://docs.scrapy.org/en/latest/topics/exceptions.html

异常

内置的异常引用

下面是一组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')

DontCloseSpider

exception scrapy.exceptions.DontCloseSpider

在spider_idle信号的处理程序中可以抛出该异常,以保护爬虫不被关闭。

IgnoreRequest

exception scrapy.exceptions.IgnoreRequest

在调度器或者任何下载器中间件中可以抛出该异常,以便指示该请求应该被忽略。

NotConfigured

exception scrapy.exceptions.NotConfigured

在一些组件中可以抛出该异常,以便指示这些组件将保持不可用的状态。这些组件包括:

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

该异常必须在组件的__init__函数中抛出。

NotSupported

exception scrapy.exceptions.NotSupported

抛出该异常表示不支持某个特性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值