| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .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 页请下载阅读 -
文档评分














Scrapy 0.22 Documentation
Scrapy 0.20 Documentation