scrapy 框架的工作流程

scrapy 框架的工作流程:

1,首先spider将需要发送请求的url 经scapyengin(引擎)交给scheduler(调度器)

2,调度器(排队入队)处理后,经引擎,Downloadermiddlewares(可选,主要有user-agent,proxy代理)交给downloader

3,downloader向互联网发送请求,并接收下载相应(response),将响应(response)经引擎,spidermiddlewares(可选)交给spider

4,spider处理response,提取数据并将数据经scrapyengine交给itempipeline保存(可以是本地,可以是数据库,)提取url重新经scrapyengine交给scheduler进行下一个循环,直到无url请求程序停止结束。

通过看上面的示意图,我们可以看出最主要的核心部件是Scrapy Engine,;另外还有Scheduler + Downlodaer + Spiders + Item Pipeline 四个功能部件,除此之外还有自己配置的 Downloader Middleware+Spider Middleware两个可自由配置的拓展中间件。

1.Scrapy Engine 运行引擎

这是Scrapy的爬虫核心,主要负责控制系统各个部件之间的data flow(数据流),以及当特定事件发生的时候触发event(事件项目)。

2.Scheduler    调度程序

接受engine发来的requests放入队列中,当engine要求的时候再提供给engine。

3.Downloader 下载器

负责拉取下载page并返给engine,engine之后再传递给Spiders

4.Spider

用户自行编写的代码类,这部分的用户代码主要完成解析response(响应)并提取item,或者是跟进页面中获取的额外的link url 链接网址。

5、Item  Pipeline 项目管道

负责处理有蜘蛛从网页中抽取的项目,他的主要任务是清晰、验证和存储数据。当页面被蜘蛛解析后,将被发送到项目管道,并经过几个特定的次序处理数据。

6、Downloader Middlewares 下载中间件

位于Scrapy引擎和下载器之间的框架,主要是处理Scrapy引擎与下载器之间的请求及响应

7、Spider Middlewares 爬虫中间件

介于Scrapy引擎和爬虫之间的框架,主要工作是处理蜘蛛的响应输入和请求输出。

8、Scheduler Middewares 调度中间件

介于Scrapy引擎和调度之间的中间件,从Scrapy引擎发送到调度的请求和响应。

猜你喜欢

转载自blog.csdn.net/qq_42467563/article/details/85639013
今日推荐