框架流程
1.引擎向蜘蛛索取网址
2.引擎将要爬取的URL交给调度器
3.调度器将URL生成请求对象放入到指定的队列
4.从队列中出列一个请求
5.引擎将请求交给下载器
6.下载器发出请求获取互联网数据
7.下载器将数据交给引擎
8.引擎将数据交给蜘蛛
9. Spider通过Xpath解析,将解析结果交给引擎判断
10.如果得到的URL则继续交给调度器,如果得到数据则交给管道处理
组件说明:
Scrapy Engine(引擎):负责Spider,ItemPipeline,Downloader,Scheduler之间的通讯,信号,数据传递等
Scheduler(调度器):负责接收引擎发送过来的请求请求,并按照一定的方式进行整理排列,入队,当引擎需要的时候再交还给引擎
Downloader(下载器):负责下载引擎发送的所有请求请求,并将其获取到响应交还给引擎,由引擎交给蜘蛛来处理
Spider(爬虫):负责处理所有的响应,分析提取数据,获取项目字段需要的数据,并将需要根据的网址提交给引擎,再次进去调度器
Item Pipeline(管道):负责处理Spider中获取到的物品,并进行后期处理(如:详细分析,过滤,存储等)
Downloader Middlewares(下载中间件):类似一个可以自定义扩展下载功能的组件
Spider Middlewares(Spider中间件):类似一个可以自定义扩展和操作引擎的Spider中间通信的功能组件(比如进入Spider的回应以及从Spider出去)
目录结构
爬虫文件
(此处没有使用管道文件去解析,只有简单的返回)
使用命令scrapy crawl爬虫名 运行爬虫