五大核心组件
爬虫(Spider)、下载器(Downloader)、调度器(Scheduler)、引擎(Scrapy)、管道(Pipelines)
各个组件的功能:
引擎:用来处理整个系统的数据流处理,触发事务(框架核心)
调度器:用来接收引擎发过来的请求,使用过滤器去重后压入队列,并在引擎再次请求的时候返回,可以想象成一个URL(抓取网页的网址或者说是链接)的优先队列,由它决定下一个要抓取的网址是什么,同时去除重复的网址
下载器:用于下载网页内容,并将网页内容返回给爬虫(scrapy下载器是建立在twisted这个高效的异步模型上的)
爬虫:爬虫是主要干活的,用于从特定的网页中提取自己需要的信息(数据分析),即所谓的实体(Item)。用户也可以从中提取链接,让Scrapy继续抓取下一个页面
管道:负责处理爬虫从网页中抽取的实体(Item),主要功能是持久化存储实体、验证实体的有效性、清楚不需要的信息。当页面被爬虫解析后,将被提交到管道,并经过几个特定的次序处理数据。