scrapy之五大组件

先说明一下五大组件各自的作用:

  • 引擎(Scrapy)

    用来完成整个系统的数据流处理,触发事务(框架核心)。

  • 调度器(Scheduler)

    包括两部分:过滤器和队列,用来接受引擎发过来的请求,先经过过滤器对请求进行去重,然后压入队列中,可以想像成一个URL(抓取网页的网址或者说是链接)的优先队列,由它来决定下一个要抓取的网址是什么,然后再根据队列将URL返回给引擎。

  • 下载器(Downloader)

    用于下载网页内容,并将网页内容封装到response中,将它返回给引擎,引擎再把它返回给Spider(Scrapy下载器是建立在twisted这个高效的异步模型上的)。

  • 爬虫(Spider)

    爬虫是主要干活的,用于产生URL并对URL进行请求发送,然后调用response进行数据解析,封装在item(实体)中。

  • 管道(Pipeline)

    负责处理爬虫从网页中抽取的实体item,主要的功能是持久化存储、验证实体的有效性、清除不需要的信息。当页面被爬虫解析后,将被发送到项目管道,并经过这几个特定的次序处理数据。

流程图:

  

 

 流程说明:

  Spider将url封装成的请求对象发送给引擎,引擎再将它发送给调度器,经过调度器操作后给引擎返回URL队列,引擎再把它发给下载器进行下载数据,之后给引擎返回response,引擎再将它返回给Spider,然后Spider根据它生成item,发送给引擎,引擎在把它发送给管道。

 

posted @ 2022-01-26 16:40  Sunshine_y  阅读(317)  评论(0编辑  收藏  举报