标签:Engine 请求 框架 发送给 爬虫 调度 爬取 scrapy 引擎
scrapy是一个使用Python编程语言编写的爬虫框架,任何人都可以根据自己的需求进行修改,并且使用起来非常方便。他可以应用在数据采集,数据挖掘,网络异常用户检测,存储数据等方面。
scrapy使用了Twisted异步网络库来处理网络通讯。
框架的组成:
1. scrapy engine:引擎
整个框架的核心,负责框架中的数据的流动
2.scheduler:调度器
从引擎接受requestsu,并且让其进入队列,按照调度的规则吧requests发送给Downloader
3.Downloader:下载器
发送请求并接受响应,把响应交给spiders
4.spiders:爬虫(解析器)
解析url和data
url:通过引擎交给调度器
data:通过引擎交给item pipeline
5.item pipeline:数据管道
接受items,并保存
流程:
1.引擎从spider处获得爬取请求(request)
2.Eengine(引擎)将爬取请求转发给Scheduler(调度器),用于调度
3.Engine(引擎)从Scheduler(调度器)处获得下一个要爬取的请求
4.Engine(引擎)将爬取请求通过中间件发送给Downlooader(下载器)
5.爬取网页后,Downloader(下载器)形成响应(Response)通过中间件 发送给Engine(引擎)
6.Engine(引擎)将收到的响应通过中间件发送给Spider处理
7.spider处理响应后产生爬取项(scraped Item)和新的爬取请求(Requests)发送给Engine(引擎)
8.Engine(引擎)将爬取项发送给Item Pipeline(项目管道)
9.Engine(引擎)将爬取请求发送给Scheduler(调度器)
总结:
引擎控制个模块数据流,不间断从调度器处获得爬取请求,直到请求为空。整个框架从spider的初始爬取请求开始------直到item结束。
标签:Engine,请求,框架,发送给,爬虫,调度,爬取,scrapy,引擎 来源: https://www.cnblogs.com/LBDJSBP/p/13215904.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。