| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .pdf | 3 |
| 摘要 | ||
Scrapy 2.7.1文档介绍了Scrapy框架的最新更新,包括新增功能、bug修复和文档改进。主要更新包括:支持Python 3.11,弃用Python 3.6;默认启用asyncio支持;FEED_EXPORT_FIELDS设置扩展为字典类型;升级parsel库以提高CSS选择器性能;修复了多项已知问题并改进了文档。 | ||
| AI总结 | ||
### Scrapy 2.7 文档总结
#### 1. **基本概念**
- **命令行工具**:Scrapy 提供了一个强大的命令行工具,用于管理爬虫项目和执行各种操作。
- **爬虫(Spiders)**:Scrapy 的核心组件,用于定义爬取规则和处理响应。
- **选择器(Selectors)**:用于从 HTML 或 XML 响应中提取数据,支持 XPath 和 CSS 选择器。
- **项目(Items)**:定义爬取数据的结构,类似于数据库表结构。
- **Item Loaders**:将抓取的文本数据转换为结构化数据(Item)。
- **Scrapy Shell**:一个交互式调试工具,支持测试选择器、请求和响应。
- **Item Pipeline**:处理爬取到的 Item,用于清洗、验证和存储数据。
- **请求与响应(Requests and Responses)**:定义爬取的 URL 和处理响应的逻辑。
- **链接提取器(Link Extractors)**:从页面中提取链接并生成新的爬取请求。
- **设置(Settings)**:全局配置 Scrapy 的行为,包括下载器中间件、日志记录等。
- **异常处理(Exceptions)**:定义了 Scrapy 中的异常类型和处理机制。
#### 2. **内置服务**
- **日志记录(Logging)**:提供灵活的日志记录功能,支持不同级别的日志输出。
- **统计收集(Stats Collection)**:记录爬虫运行期间的各项指标和统计信息。
- **发送邮件(Sending e-mail)**:配置后可将爬虫状态或结果通过邮件通知。
- **Telnet 控制台(Telnet Console)**:通过 Telnet 连接爬虫,实时调试和监控。
#### 3. **解决特定问题**
- **常见问题(FAQ)**:提供爬虫开发中常见问题的解答。
- **调试爬虫(Debugging Spiders)**:介绍如何调试爬虫,包括日志、断点调试等方法。
- **爬虫合同(Spiders Contracts)**:用于验证爬虫的行为,确保其符合预期。
- **常见做法(Common Practices)**:推荐的开发模式和最佳实践。
- **大规模爬取(Broad Crawls)**:介绍如何高效地进行大规模爬取。
- **动态内容抓取(Selecting dynamically-loaded content)**:处理通过 JavaScript 加载的内容。
- **内存泄漏调试(Debugging memory leaks)**:提供检测和解决内存泄漏的方法。
- **文件和图片下载(Downloading and processing files and images)**:介绍如何处理文件和图片的下载。
- **部署爬虫(Deploying Spiders)**:提供将爬虫部署到生产环境的指导。
- **AutoThrottle 扩展(AutoThrottle extension)**:自动调整爬取速度,避免被目标网站封禁。
#### 4. **版本更新**
- **Scrapy 2.7.1**:
- 新增功能:恢复 Proxy-Authentication 头的设置兼容性。
- 修复问题:处理输出选项冲突、弃用 asyncio API 等。
- 文档更新:升级《贡献者行为准则》、修复拼写错误。
- 质量改进:重新启用flake8检查、现代化CI配置。
- **Scrapy 2.7.0**:
- **新功能**:
- 支持 Python 3.11,移除对 Python 3.6 的支持。
- 默认启用异步回调支持。
- 允许输出字段名为任意字符串。
- 新增 `process_spider_output()` 的异步生成器支持。
- 新项目默认启用 asyncio 支持。
- **改进**:
- 优化代码检查生成器返回值的逻辑。
- 提升 `Selector` API 的性能和易用性(通过 Parsel 1.5)。
- Telnet 控制台新增安全验证。
- **弃用**:
- `ImagesPipeline.thumb_path` 必须接受 `item` 参数。
- `scrapy.downloadermiddlewares.decompression` 模块被弃用。
- **其他版本更新**:
- **Selector API 变更**:Parsel 1.5 引入了更简洁的 `.get()` 和 `.getall()` 方法,取代 `.extract_first()` 和 `.extract()`,同时新增 `Selector.attrib` 和 `SelectorList.attrib` 属性。
- **Telnet 控制台**:新增用户名和密码验证,提升安全性。
- **扩展性改进**:新增 `from_crawler` 支持,允许自定义扩展访问 Scrapy 设置和蜘蛛。
#### 5. **其他重要信息**
- **模块重定位**:移除了部分兼容性 shim,建议更新代码以符合最新模块结构。
- **新功能**:新增 `dont_redirect` 和 `dont_retry` 元数据键,控制爬取行为。
- **文档改进**:更新了命令行工具文档、新增调试浏览器工具的教程、优化了安装说明。
总结:Scrapy 2.7 版本在性能、兼容性、安全性和易用性方面均有显著提升,新增了多项功能和改进,推荐开发者升级到最新版本以获得更好的体验。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
394 页请下载阅读 -
文档评分














Scrapy 2.7 Documentation
The Weblate Manual 2.7