目录
五大模块
Downloader
获取请求,发送请求,下载网页
Spider
解析html,产生爬取请求和数据
ItemPipeline
流水线处理数据,清理、检验、查重、存储
Schedule
对爬取请求进行调度
Engine
控制数据流,根据事件触发对应的模块
四个配置参数
名称 | 用途 | 默认值 |
CONCURRENT_REQUESTS | 最大并发下载 | 32 |
CONCURRENT_ITEMS | 并发item处理 | 100 |
CONCURRENT_REQUESTS_PER_DOMAIN | 单域名最大并发下载 | 8 |
CONCURRENT_REQUESTS_PER_IP | 单ip最大并发下载 | 0 |
三个对象
scrapy.http.Request
代表一个HTTP请求
常用属性
属性 | 含义 |
.url | 请求的地址 |
.method | "GET" or "POST" |
.headers | 请求头,以字典形式组织 |
.body | 请求主体,以字符串形式组织 |
.meta | 用户添加的扩展信息 |
常用方法
.copy():给出该对象的一个复制
Response
代表一个HTTP响应
常用属性
属性 | 含义 |
.url | HTTP请求的url |
.status | 响应的状态码 |
.headers | 响应的头部信息 |
.body | 响应的主体信息,以字符串形式组织 |
.flags | 一组标记 |
.request | 对应的HTTP请求 |
常用方法
.copy():给出该对象的一个复刻
Item
包含信息的字典对象
两类中间件
DownloaderMiddleware
修改、丢弃、新增请求或响应
SpiderMiddleware
对请求和爬取项进行再处理