搜索

pdf文档 Scrapy 0.20 Documentation

917.28 KB 197 页 0 下载 93 浏览 0 评论 0 收藏
语言 格式 评分
英语
.pdf
3
摘要
文档主要介绍了Scrapy 0.20版本的更新内容,包括新功能、改进和弃用功能。主要更新包括:移除了Signals和Stats Collector单例,改为通过Crawler的属性访问;lxml成为默认的XPath选择器后端;支持JSON和JSONLines导出嵌套项;新增了 REFERER_ENABLED 设置;默认用户代理变更;移除了对Python 2.5和Twisted 2.5的支持;新增了Stackless扩展功能;优化了日志记录和资源使用;改进了爬虫管理器和请求处理机制。
AI总结
### Scrapy 0.20 版本更新总结 Scrapy 0.20 版本主要针对架构优化、功能改进和旧功能移除进行了较大调整。以下是核心更新内容: #### 1. **核心架构调整** - **移除单例模式**:Signals 和 Stats Collector 单例被移除,现在通过 `Crawler.signals` 和 `Crawler.stats` 属性访问。 - **默认后端更新**:lxml 成为默认的 XPath 选择器后端,替代了 libxml2。 - **模块移除**:移除了 `scrapy.xlib.BeautifulSoup` 和 `scrapy.xlib.ClientForm` 模块,相关功能需使用 lxml 替代。 #### 2. **功能改进** - **SitemapSpider 支持**:新增对 `.xml` 和 `.xml.gz` 格式 Sitemap 的支持,即使内容类型声明错误也能处理。 - **JSON 导出支持**:JSON 和 JSONLines 导出器现支持嵌套项。 - **Cookie 管理**:新增 `cookiejar` Request 元数据,支持多会话 Cookie。 - **日志改进**:LogFormatter 现返回字典以支持惰性格式化。 - **HTTP 缓存**:默认缓存存储位置改为项目数据目录。 - **Spider 管理**:移除 `per-spider settings`,建议通过创建多个 Crawler 对象实现。 #### 3. **新功能** - **Scrapy Shell 改进**:新增_verbose_ 选项和默认显示日志功能。 - **Scrapyd 改进**:新增每个爬虫独立进程、日志轮转功能和简单 Web UI(默认地址:`http://localhost:6800`)。 - **邮件功能增强**:支持 SMTP-AUTH,新增 `MAIL_USER` 和 `MAIL_PASS` 设置。 - **信号机制**:新增 deferred 信号支持,改进信号处理机制。 #### 4. **移除和弃用功能** - **移除实验性功能**:移除 `crawlspider v2` 和 `HTMLImageLinkExtractor` 等未毕业的功能。 - **移除旧设置**:移除 `ENCODING_ALIASES`、`TRACK_REFS`、`CONCURRENT_SPIDERS` 等设置。 - **移除旧命令**:移除 `!LxmlItemLoader` 和 `runserver` 命令,建议使用新命令替代。 - **移除旧模块**:移除 `scrapy.log.started` 属性和 `scrapy.mail.mail_sent` 信号。 #### 5. **兼容性和性能** - **兼容性调整**:移除对 Python 2.5 和 Twisted 2.5 的支持,建议使用更高版本。 - **性能优化**:改进内存使用统计,使用 `resource` 模块替代 `scrapy.utils.memory`。 - **日志统计**:新增按级别统计日志数量和响应接收数量功能。 #### 6. **其他改进** - **文档更新**:新增核心 API 文档、项目文件结构文档和命令行工具文档。 - **调试工具**:新增 `scrapy-ctl view` 命令,支持在浏览器中查看 URL。 - **扩展支持**:新增 `StackTraceDump` 扩展,支持跟踪引用。 总结来看,Scrapy 0.20 版本在架构优化、功能增强和性能改进方面做了大量工作,同时移除了部分过时的功能和设置,建议开发者及时更新代码以适应新版本。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 190 页请下载阅读 -
文档评分
请文明评论,理性发言.