scrapy组件介绍
Scrapy2.19为例
- 异步并发:基于Twisted事件驱动,支持
async/await - 高并发爬取:适合大量URL和网络IO场景
- Middleware机制:方便处理代理、Cookie、User-Agent、重试等
- Scheduler调度:负责Request排队、优先级和去重
- Pipeline处理数据:清洗、校验、保存数据库
- 支持任务暂停恢复:通过
JOBDIR保存爬取状态 - 高度可扩展:支持自定义Middleware、Pipeline、Extension等
核心架构
1 | Spider |
各组件作用:
| 组件 | 作用 |
|---|---|
| Spider | 写爬虫逻辑、解析页面 |
| Engine | 协调所有组件 |
| Scheduler | Request排队、去重 |
| Downloader | 发送HTTP请求 |
| Middleware | 修改Request/Response |
| Pipeline | 清洗和保存数据 |