pdf文档 Scrapy 2.9 Documentation

1.70 MB 409 页 0 评论
语言 格式 评分
英语
.pdf
3
摘要
文档详细阐述了Scrapy 2.9的新功能、改进和修复内容,包括新增的每个域下载设置、TextResponse.jmespath()方法、向后兼容性更新,以及安装指南。文档还介绍了Scrapy的核心功能,如中间件、信号、扩展和 asteroid,以及其在Web抓取和数据提取中的应用。
AI总结
# Scrapy 2.9 Documentation 总结 ## 概述 Scrapy 是一个用于抓取网站和提取结构化数据的应用框架,适用于数据挖掘、信息处理和历史存档等场景。它支持通过 API 提取数据或作为通用网页爬虫使用。 ## 主要更新和新功能 ### Scrapy 2.9.0 - **新增功能**: - 每域下载设置:支持通过 `DOWNLOAD_SLOTS` 设置在不同域之间配置 `DOWNLOAD_DELAY`、`CONCURRENT_REQUESTS_PER_DOMAIN` 和 `RANDOMIZE_DOWNLOAD_DELAY`。 - 兼容新加密库和新解析库 Parsel,支持 Parsel 的 JMESPath 选择器。 - 新增 `TextResponse.jmespath()` 方法,用于通过 JMESPath 表达式提取数据。 - 新增 `scrapy.utils.request.request_to_curl()` 方法,可将请求对象转为 curl 命令。 - 支持 `FILES_STORE` 和 `IMAGES_STORE` 使用 `pathlib.Path` 类型。 - 新增 `feed_slot_closed` 和 `feed_exporter_closed` 信号。 - **改进**: - 自动化测试在 Windows 环境中通过持续集成系统运行。 - 移除了与 Python 2 兼容性的代码,包括 unicode 文本语法和行继续符。 - 更新了 OpenSSL 密码列表格式文档链接。 ### Scrapy 2.2.0 - **亮点**: - Python 3.5.2+ 版本要求。 - 支持 `dataclass` 和 `attrs` 对象作为项类型。 - 新增 `TextResponse.json` 方法。 - 新增 `bytes_received` 信号,允许取消响应下载。 - **向后不兼容的更改**: - 移除了对 Python 3.5.0 和 3.5.1 的支持。 ### Scrapy 2.2.1 - 修复了 `startproject` 命令更改目标文件夹权限的问题。 ## 安装指南 - **支持的 Python 版本**:Scrapy 需要 Python 3.7 或更高版本(支持 CPython 和 PyPy 实现)。 - **安装方式**: - 使用 conda:`conda install -c conda-forge scrapy` - 使用 pip:`pip install scrapy`,建议在虚拟环境中安装。 ## Scrapy 核心功能 - **爬虫(Spider)**:定义如何提取数据和导航网站。 - **调度器(Scheduler)**:管理请求队列和调度请求。 - **下载器(Downloader)**:负责获取网页内容。 - **中间件(Middleware)**:扩展 Scrapy 的功能,例如处理 cookies、修改请求头等。 - **管道(Pipelines)**:用于处理提取的数据,例如存储到数据库或文件中。 ## 命令行工具 - `scrapy settings`:获取 Scrapy 设置的值。 - `scrapy runspider`:运行自包含的爬虫脚本,无需创建项目。 - `scrapy version`:显示 Scrapy 版本信息。 - `scrapy bench`:运行快速基准测试。 - `scrapy view`:通过浏览器查看 URL 的内容。 - `scrapy shell`:启动交互式调试环境。 ## 其他功能 - Telnet 控制台:用于调试和导入 Scrapy 进程。 - 多线程支持:通过 Twisted 提供高并发能力。 - 内置扩展:包括媒体管道、缓存 DNS 等功能。 ## 总结 Scrapy 2.9.0 是一个功能强大且可扩展的网页抓取框架,支持高并发、多线程和灵活的数据处理。其最新版本引入了多个新功能和改进,特别是在支持新技术和优化性能方面。此外,Scrapy 提供了丰富的文档和工具,方便用户快速上手并进行深度定制。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 402 页请下载阅读 -
文档评分
请文明评论,理性发言.