Scrapy 2.5 Documentation
1.56 MB
366 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
文档详细介绍了Scrapy 2.5.1版本的各项功能和用法,包括数据结构、组件配置、异常处理以及更新日志。文档阐述了基本概念,如Items、Item Loaders、Spider、Request和Response,并详细描述了Item Pipeline的使用方法,Feed Exports的支持格式,以及Settings的配置。更新日志列出了各个版本的新功能和问题修复,如支持dataclass对象、新增TextResponse.json方法、修复TLS兼容性问题等。同时,也列出了已废弃的功能和替代方法。 | ||
AI总结 | ||
# Scrapy 2.5 文档总结
## 1. 核心组件
* **爬取项(Items)**:定义需要抓取的数据结构,用于存储抽取的数据。
* **Item Loaders**:用于填充爬取项,将抽取的数据整理到结构化的数据中。
* **数据流水线(Item Pipeline)**:处理和存储抓取到的数据,可用于数据清洗、去重等操作。
* **导出功能(Feed Exports)**:支持将抓取的数据以不同格式(如JSON、CSV、XML)导出,并存储到多种存储后端。
## 2. 请求与响应
* **请求(Requests)**:Scrapy 使用 `Request` 类表示 HTTP 请求,包含目标 URL 和设置请求头、参数等的 `meta` 属性。
* **响应(Responses)**:Scrapy 使用 `Response` 类表示 HTTP 响应,提供状态码、头信息、响应内容等属性。
* **链接提取器(Link Extractors)**:用于从网页中提取链接,方便后续的抓取工作。
## 3. 高级功能
* **异常处理(Exceptions)**:Scrapy 提供了多种异常类型,用于处理抓取过程中出现的错误。
* **配置设置(Settings)**:Scrapy 提供了丰富的设置选项,用于定制抓取行为,如设置 User Agent、下载延迟、请求重试次数等。
* **中间件(Middleware)**:用于在请求发送和响应接收过程中进行拦截和修改,可实现代理、cookie 管理、重试等功能。
## 4. 数据处理
* **Item Pipeline**:通过编写.pipeline 文件,实现数据的处理、存储和筛选。
* **去重功能**:如 `DuplicatesPipeline` 可以通过使用集合来记录已见过的 ID,从而去除重复项。
## 5. 版本更新
* **Scrapy 2.2.0**:
* Python 3.5.2+ 是最低要求。
* 支持使用 `dataclass` 和 `attrs` 对象作为项目类型。
* 新增 `TextResponse.json` 方法,简化 JSON 数据解析。
* 增加 `bytes_received` 信号,允许取消响应下载。
* 修复了 `CookiesMiddleware` 的问题。
* **Scrapy 1.3.3**:
* 恢复了 `SpiderLoader` 的默认异常行为。
* 新增设置 `SPIDER_LOADER_WARN_ONLY` 可以切换为警告而非异常。
* **Scrapy 1.3.2**:
* 修复了与 Twisted 17+ 的 TLS 兼容性问题。
## 6. 遗留问题与建议
* **已废弃的 API**:如 `HTMLXPathSelector` 已废弃,建议使用 `Selector`。
* **中文支持**:Scrapy 官方文档已包含关于 Windows 上的中文支持说明。
## 结语
Scrapy 2.5 提供了强大的网页抓取功能和灵活的配置选项,适合处理各种复杂的抓取任务。通过合理使用核心组件、配置设置和高级功能,开发者可以高效地完成数据抓取和处理工作。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
359 页请下载阅读 -
文档评分