- 初窥Scrapy
- 安装指南
- Scrapy入门教程
- 例子
- 命令行工具(Command line tools)
- Items
- Spiders
- 选择器(Selectors)
- Item Loaders
- Scrapy终端(Scrapy shell)
- Item Pipeline
- Feed exports
- Link Extractors
- Logging
- 数据收集(Stats Collection)
- 发送email
- Telnet终端(Telnet Console)
- Web Service
- 常见问题(FAQ)
- 调试(Debugging)Spiders
- Spiders Contracts
- 实践经验(Common Practices)
- 通用爬虫(Broad Crawls)
- 借助Firefox来爬取
- 使用Firebug进行爬取
- 调试内存溢出
- 下载项目图片
- Ubuntu 软件包
- Scrapyd
- 自动限速(AutoThrottle)扩展
- Benchmarking
- Jobs: 暂停,恢复爬虫
- DjangoItem
- 架构概览
- 下载器中间件(Downloader Middleware)
- Spider中间件(Middleware)
- 扩展(Extensions)
- 核心API
- Requests and Responses
- Settings
- 信号(Signals)
- 异常(Exceptions)
- Item Exporters
- Release notes
- Contributing to Scrapy
- Versioning and API Stability
- 试验阶段特性
- 索引
- Python 模块索引
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
异常(Exceptions)
内置异常参考手册(Built-in Exceptions reference)
下面是Scrapy提供的异常及其用法。
DropItem
- exception scrapy.exceptions.DropItem
该异常由item pipeline抛出,用于停止处理item。详细内容请参考 Item Pipeline 。
CloseSpider
- exception scrapy.exceptions.CloseSpider(reason='cancelled')
该异常由spider的回调函数(callback)抛出,来暂停/停止spider。支持的参数:
参数: reason (str) – 关闭的原因
样例:
def parse_page(self, response): if 'Bandwidth exceeded' in response.body: raise CloseSpider('bandwidth_exceeded')
IgnoreRequest
- exception scrapy.exceptions.IgnoreRequest
该异常由调度器(Scheduler)或其他下载中间件抛出,声明忽略该request。
NotConfigured
- exception scrapy.exceptions.NotConfigured
该异常由某些组件抛出,声明其仍然保持关闭。这些组件包括:
- Extensions
- Item pipelines
- Downloader middlwares
- Spider middlewares
该异常必须由组件的构造器(constructor)抛出。
NotSupported
- exception scrapy.exceptions.NotSupported
该异常声明一个不支持的特性。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论