spider整理

Scrapy框架是一个Python的爬取网站数据,提取结构性数据的应用框架,用途广泛。
Scrapy Engine(引擎):负责Spider(爬虫),ItemPipeline,Downloader,Scheduker中间的通讯,信号,数据传递等,
Downloader(下载器):负责下载引擎发送的所有的Requests请求,并将其获取到的Responses交给引擎,于引擎交给Spider来处理
Spider(爬虫):负责处理所有的Responses,从中分析提取数据,获取item字段的所需的数据,并将其需要跟进的URL提交给引擎,再次进入调度器
Item Pipeline(管道):负责处理Spider中获取的item,并进行后期处理的地方
Downloader Middewares(下载中间件):可以自定义下载功能的组件
Spider Middlewares(Spider中间件):可以自定扩展和操作引擎和Spider中间通信的功能组件(比如进入Spider的Responses;和从Spider出去的Requests)
文件介绍:
spider:放置爬虫文件
items:处理引擎传输过来的数据
middlewares:自定义requests请求和进行response过滤
pipelines:处理spider模块分析好的结构化数据,如保存入库等
流程:
1、Spider爬虫部分发送请求,通过SpiderMiddleware中间层处理后发送给ENGINE引擎模块
2、引擎模块将请求发送给SCHEDULER模块进行调度
3、SCHEDULER模块将可以执行的请求调度给引擎模块
4、引擎模块将请求发送给DOWNLOADER下载模块进行下载,期间会经过DownloadMiddleware中间件进行处理
5、下载模块将爬取好的网页响应经过DownloaderMiddleware中间间处理后传递给引擎模块
6、引擎模块将响应传递给Spider爬虫模块进行解析
7、在爬虫模块我们自定义解析方式对响应解析完成后生成Item对象或者新的Request对象,经过SpidderMiddleware发送给引擎模块
8、如果是Item对象传递给item和pipeline来进行对应的处理;如果是Request对象则继续调度下载,重复之前的步骤。

你可能感兴趣的:(spider整理)