Scrapy 2.11.1 Documentation
1.79 MB
425 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
文档详细记录了Scrapy框架版本2.11.1的更新内容,包括安全修复、新增功能、删除的弃用功能、错误修复、文档更新以及质量保障的改进。主要更新包括:1. 安全修复,解决了ReDoS漏洞,并移除了deprecated的解压缩模块;2. 新增功能如支持Google Cloud Storage的Feed导出、批处理交付等;3. Deprecations,如移除了多个LinkExtractor类,并推荐使用LinkExtractor替代;4. 错误修复,涉及CSV导出、请求方法处理等;5. Documentation的更新和质量保障提升,如代码样例的简化、代码提示的扩展;6. 对Python 3.12的支持并移除对Python 3.7的支持。 | ||
AI总结 | ||
以下是对《Scrapy 2.11.1 Documentation》的总结,涵盖了主要版本更新的核心内容和关键信息:
---
### Scrapy 2.11.1 Documentation 总结
#### 1. **版本更新概要**
- **Scrapy 2.11.1 (2024-02-14)**
- **主要更新**:
- 安全性修复,包括ReDoS漏洞和正则表达式实现问题。
- 支持Twisted >= 23.8.0,并改进了文档。
- 已 deprecated 的 `scrapy.utils.iterators.xmliter` 被 `xmliter_lxml()` 替代。
- 移除了已 deprecated 的 `scrapy.downloadermiddlewares.decompression` 模块。
- 修复了空 CSV 导出问题。
- **Scrapy 2.10.1 (2023-08-30)**
- 标记 Twisted >= 23.8.0 为不支持。
- **Scrapy 2.10.0 (2023-08-04)**
- **主要更新**:
- 支持 Python 3.12,移除 Python 3.7 支持。
- 新增插件框架,简化第三方组件配置。
- 配置可重试的异常。
- 修复和改进导feed导出功能。
- 更新依赖版本,包括 `lxml` 和 `cryptography`。
- **Scrapy 2.7.0 (2022-10-17)**
- **主要更新**:
- 支持 Python 3.11,移除 Python 3.6 支持。
- 改进异步回调支持,默认启用 asyncio。
- 中央化请求指纹配置。
- 更新依赖版本,包括 `lxml` 和 `Pillow`。
---
#### 2. **核心功能与改进**
- **新功能**:
- 支持 Google Cloud Storage 的 Feed 导出。
- 新增 `FEED_EXPORT_BATCH_ITEM_COUNT` 设置。
- `parse` 命令支持指定输出文件。
- `Request.from_curl` 和 `curl_to_request_kwargs()` 支持 `--data-raw`。
- 内置 spider 子类(如 `CrawlSpider`)支持解析回调。
- **错误修复**:
- 修复 dataclass 和 attr.s 项的 CSV 导出问题。
- 修复 ANSI 转义序列在 Windows 上的处理问题。
---
#### 3. **依赖与配置**
- **依赖更新**:
- `lxml` 最低版本要求提高至 4.4.1。
- `cryptography` 最低版本要求提高至 36.0.0。
- `boto3` 取代 `botocore` 作为 S3 导出推荐工具。
- 移除对 `pkg_resources` 的依赖。
- **配置更改**:
- `FEED_STORE_EMPTY` 默认值变为 `True`,修复空文件创建问题。
---
#### 4. **安全与稳定性**
- **安全修复**:
- 解决 ReDoS 漏洞,已 deprecated 的 `xmliter` 被 `xmliter_lxml()` 替代。
- 修复 `open_in_browser()` 中的正则表达式实现问题。
- `DOWNLOAD_MAXSIZE` 和 `DOWNLOAD_WARNSIZE` 适用于解压后的响应正文。
- 删除 `Authorization` 头以防止跨域请求的安全漏洞。
---
#### 5. **文档与代码质量**
- **文档更新**:
- 更新 OpenSSL 密码套件列表格式的链接。
- 简化数据类项的代码示例。
- 更新贡献者行为准则至 2.1 版本。
- **代码质量**:
- 扩展类型提示,改进代码兼容性。
- 固定 `brotli` 版本以避免 PyPy 测试失败。
- 优化 CI 配置和预提交检查。
---
#### 6. **补遗**
- **多版本更新亮点**:
- 支持 Python 3.12,移除 Python 3.6 和 3.7 支持。
- 新增 `FEED_EXPORT_FIELDS` 选项和 JmesSelect 支持。
- 允许在 spider 中返回字典。
- 支持 TLS SNI 和 CSS 链接提取器。
- 新增 `Response.urljoin()` 帮助器。
---
以上为 Scrapy 2.11.1 及相关版本的核心更新内容,重点突出了安全修复、新功能和配置更改等关键信息,避免了冗余细节,确保逻辑清晰且易于理解。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
418 页请下载阅读 -
文档评分