【Scrapy 框架翻译】异常操作(Exceptions) 篇
程序员文章站
2022-05-08 16:47:21
...
版本号:Scrapy 2.4
内容介绍
这是Scrapy中包含的所有例外及其用法的列表。
常规异常操作
关闭spider
exception scrapy.exceptions.CloseSpider(reason=‘cancelled’)
def parse_page(self, response):
if 'Bandwidth exceeded' in response.body:
raise CloseSpider('bandwidth_exceeded')
不关闭spider
exception scrapy.exceptions.DontCloseSpider
可以在spider_idle信号处理程序中引发此异常,以防止蜘蛛网被关闭。
放弃Item
exception scrapy.exceptions.DropItem
Item的pipline阶段必须引发的异常才能停止处理Item。
忽略请求
exception scrapy.exceptions.IgnoreRequest
调度程序或任何下载程序中间件均可引发此异常,以指示应忽略该请求。
未配置
exception scrapy.exceptions.NotConfigured
某些组件可以引发此异常,以指示它们将保持禁用状态。这些组件包括
- Extensions
- Item pipelines
- Downloader middlewares
- Spider middlewares
不支持
exception scrapy.exceptions.NotSupported
引发此异常以指示不支持的功能。
停止下载
exception scrapy.exceptions.StopDownload(fail=True)
从bytes_received信号处理程序中发出,指示不应再下载其他字节来进行响应。
- 如果fail=True(默认),则调用请求errback。响应对象可用作异常的response属性,该StopDownload异常又存储为value接收Failure对象的属性 。这意味着在定义为的errback中,虽然可以访问响应 。
def errback(self, failure):
failure.value.response
- 如果为fail=False,则调用请求回调。
下一篇: 记录一次使用scrapy进行数据采集
推荐阅读
-
【Scrapy 框架翻译】物品(Items)详解篇
-
【Scrapy 框架翻译】链接提取器(Link Extractors) 篇
-
【Scrapy 框架翻译】物品加载(Item Loaders)详解篇
-
【Scrapy 框架翻译】爬虫页(Spiders)详解篇
-
【Scrapy 框架翻译】异常操作(Exceptions) 篇
-
【Scrapy 框架翻译】请求和回应(Requests and Responses) 篇
-
【Scrapy 框架翻译】设置(Settings) 篇
-
【Scrapy 框架翻译】输出文件(Feed exports) 篇
-
【Scrapy 框架翻译】物品管道(Item Pipeline) 篇