scrapy框架流程

版权声明:转载请注明来源谢谢! https://blog.csdn.net/qq_43004728/article/details/84587604

scrapy框架是基于python的爬虫框架,大致流程如下:
在这里插入图片描述

scrapy 是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量代码,
就能够快速的抓取到数据内容。 Scrapy 使用了 Twisted’twɪstɪd异步网络框
架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,
可以灵活的完成各种需求。
scrapy 框架的工作流程:
1.首先Spiders(爬虫)将需要发送请求的url(requests)经ScrapyEngine(引擎)交给Scheduler
(调度器)。
2.Scheduler(排序,入队)处理后,经ScrapyEngine,DownloaderMiddlewares(可选,主要
有User_Agent, Proxy代理)交给Downloader。
3.Downloader向互联网发送请求,并接收下载响应(response)。将响应(response)经
ScrapyEngine,SpiderMiddlewares(可选)交给Spiders。
4.Spiders处理response,提取数据并将数据经ScrapyEngine交给ItemPipeline保存(可以是本
地,可以是数据库)。提取url重新经ScrapyEngine交给Scheduler进行下一个循环。直到无Url
请求程序停止结束。

scrapy 是一个Python爬虫框架,爬取效率极高,具有高度定制性,但是不支持分布式。而
scrapy-redis一套基于redis数据库、运行在scrapy 框架之上的组件,可以让scrapy 支持分布式策略,
Slaver端共享Master 端redis数据库里的item队列、请求队列和请求指纹集合。
为什么选择redis数据库,因为redis支持主从同步,而且数据都是缓存在内存中的,所以基于redis
的分布式爬虫,对请求和数据的高频读取效率非常高

猜你喜欢

转载自blog.csdn.net/qq_43004728/article/details/84587604