注:为本人学习笔记,有砖忘轻拍。内容来自慕课网-大壮老师
1.Scrapy框架
Scrapy Engine:负责四大组件之间的通信、信号及数据传递;
Scheduler:接收Engine发送过来的Requests请求url入队;
Downloader:发送请求并下载数据(负责发送Engine发送的Requests请求,并将获得的Response返还给Engine,再由Engine交还给Spider进行解析);
Spider:负责处理所有的Response。如果Response中含有如‘下一页’请求,返还给Engine并由其交给Scheduler进行入队操作;
Pipeline:封装去重类、存储类,负责处理Spider中获取的数据存储与过滤;
2.Scrapy工作流程
1).在spider中的入口定义一个URL;
2).Engine主动通信Spider,Spider回馈目标地址,然后将URL交给Engine;
3).Engine将URL交给Scheduler排序入队;
4).Scheduler将排好队的Requests请求交给Engine;
5).Engine将Requests请求交给Downloader进行下载,下载失败的Requests将会重新进入Scheduler;下载成功的会返回Response给Engine,Engine将Response文件交给Spider
6).Spider进行数据解析,分析数据内容:将期望数据交给Pipeline进行存储或清洗;将另外一部分请求交给Engine,再进入Scheduler重复以上操作,直至获取到全部数据。
3.Scrapy工程四部曲
1).新建项目
cmd》scrapy startproject {projectname}
创建爬虫文件
cmd》scrapy genspider xxx_spider 域名
2).明确目标
在items文件中定义抓取目标
3).制作爬虫
4)存储数据