1. 什么是Scrapy架构
scrapy 是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量代码,就能够快
速的抓取到数据内容。Scrapy 使用了 Twisted['twɪstɪd]异步网络框架来处理网络通讯,可以加
快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求。
2. Scrapy架构组件
引擎(Scrapy):用来处理整个系统的数据流,触发事务(框架核心)
调度器(Scheduler):用来接受引擎发过来的请求,压入队列中,并在引擎再次请求时返回。可以
想象成一个URL(抓取网页的网址或者说是链接)的优先队列,由它来决定下一个要抓取的网址是什
么,同时去除重复的网址
下载器(Downloader):用于下载网页内容,并将网页内容返回给爬虫(Scrapy下载器是建立在
twisted这个高效的异步模型上的)
爬虫(Spiders):爬虫是主要干活的,用于从特定的网页中提取自己需要的信息,即所谓的实体
(item)。用户也可以从中提取出链接,让Scrapy继续抓取下一个页面
项目管道(Pipeline):负责处理爬虫从网页中抽取的实体,主要的功能是持久化实体、验证实体的
有效性、清理不需要的信息。当页面被爬虫解析后,将被发送到项目管道,并经过几个特定的次序处
理数据。