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 页请下载阅读 -
              
文档评分 
  













          Scrapy 2.11.1 Documentation