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整理
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- scrapy框架的流程图2018-11-01框架流程图 1、scrapy框架主要为个块 (1)Scrap...
- 一、准备工作1、系统更新sudo apt-get updatesudo apt-get upgrade2、安装必要...