搜索

pdf文档 Scrapy 0.22 Documentation

926.97 KB 199 页 0 下载 66 浏览 0 评论 0 收藏
语言 格式 评分
英语
.pdf
3
摘要
文档详细介绍了Scrapy 0.22版本的发行内容,包括新增功能、改进、弃用功能及API变化。主要更新包括引入Spider Contracts机制、新增自动节流扩展、优化文档结构、改进编码检测、增强反向代理支持等。同时,文档还列出了多个新设置选项和模块调整。
AI总结
《Scrapy 0.22 Documentation》主要记录了Scrapy框架在版本0.22及其后续版本中的功能更新、改进和一些重要变更。以下是文档的核心内容总结: --- ### **新增功能** 1. **Spider Contracts** - 增加了`Spider Contracts`机制,用于以正式且可重复的方式测试蜘蛛。 - 提供了`-o`和`-t`选项用于`runspider`命令。 2. **扩展功能** - **LogStats扩展**:用于定期记录基本统计信息(如爬取页面数和抓取项数)。 - **AutoThrottle扩展**:默认安装但需要手动启用(通过`AUTOTHROTTLE_ENABLED`设置)。 - **动态调整下载延迟**:支持在爬取过程中动态调整下载延迟和最大并发请求。 - **新的DBM HTTP缓存存储后端**:提供更灵活的缓存选项。 3. **命令行工具** - 增加了`scrapy edit`命令,允许直接编辑蜘蛛文件。 - `genspider`命令新增`-e`选项,支持使用`scrapy edit`。 4. **新功能与改进** - **SitemapSpider**:新增用于处理网站地图的蜘蛛类型。 - **Gzip响应处理**:改进了对gzip压缩响应的处理,避免 IOError。 - **CloseSpider异常**:允许手动关闭蜘蛛。 - **HTML5元标签支持**:增强了编码检测,支持HTML5 `meta charset`声明。 - **响应编码**:默认使用检测到的编码作为`Response.encoding`。 5. **性能与架构** - **扩展的统计信息记录**:默认启用`STATS_DUMP`,将统计信息输出到日志。 - **减少代码库**:将部分代码剥离为独立库(`w3lib`和`scrapely`)。 - **减少信号类的使用**:信号不再作为单例,而是通过爬虫的`signals`属性访问。 --- ### **改进与优化** 1. **兼容性** - 提升了对macOS的兼容性。 - 修复了Windows平台的`SpiderState`问题。 2. **文档** - 移除了过时的`ClientForm`引用。 - 更新了默认存储后端的文档。 - 增加了对命令行工具及其子命令的详细文档。 3. **调试与日志** - 增加了`open_in_browser`到调试文档中。 - 默认日志输出更易读,将`Item`日志改为使用字典格式。 4. **设置与配置** - 新增了多个设置选项,如`REDIRECT_ENABLED`、`RETRY_ENABLED`、`COOKIES_ENABLED`、`RANDOMIZE_DOWNLOAD_DELAY`等。 - 默认启用`STATS_DUMP`,使用户更关注爬虫统计信息。 --- ### **问题修复** 1. **已知问题修复** - 修复了`LogStats`扩展在0.16发布前因错误合并导致的破坏。 - 修复了`SpiderState`在Windows平台上的问题。 - 修复了`Scrapy`日志标题下的破折号格式。 2. **弃用与移除** - 移除了`googledir`示例项目,新增`dirbot`示例。 - 移除了`CLOSESPIDER_ITEMPASSED`设置,改为`CLOSESPIDER_ITEMCOUNT`。 - 移除了`CONCURRENT_SPIDERS`设置,建议使用`Scrapyd`的`maxproc`。 - 移除了`deprecated Execution Queue`和`undocumented spider context extension`。 - 移除了`UrlFilterMiddleware`和`SpiderManager`的`load()`方法。 --- ### **其他重要变更** 1. **架构调整** - **信号调整**:信号不再作为单例,而是通过`Crawler.signals`属性访问。 - **组件命名变更**:`downloader.sites`改为`downloader.slots`,`scraper.sites`改为`scraper.slots`。 2. **日志与统计** - 默认将统计信息输出到日志。 - 修复了`stats_spider_opened`等信号的文档。 3. **扩展支持** - 增加了对动态调整下载延迟和最大并发请求的支持。 - 增加了`listjobs.json` API到`Scrapyd`。 4. **弃用功能** - 移除了默认的`field values`支持。 - 移除了实验性的`crawlspider v2`。 - 移除了`deprecated Execution Queue`和`undocumented spider context extension`。 --- ### **总结** Scrapy 0.22版本在功能、性能和兼容性方面均有显著提升,新增了多项实用功能(如Spider Contracts、动态调整下载延迟、LogStats扩展等),同时修复了部分已知问题并移除了过时的功能。这些改进使得Scrapy在爬虫开发中更加灵活和高效。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 192 页请下载阅读 -
文档评分
请文明评论,理性发言.