1、scrapy五大核心组件的
Spider
主要用来干活的,用于从特定的网页汇总提取自己需要的信息,即
所谓的实体(item),用户也可以从中提取连接,让scrapy继续抓
取下一个网页
①产生url(对不同的url,封装请求对象)
②解析数据
引擎
用来处理整个系统的数据流处理,触发事务(框架核心)
对象的实例化,方法的调用,都是通过引擎实现;
但是方法和实例化类很多,引擎如何知道?
引擎通过自己接受到的数据流l类型来判断,如接受到response,就
需要去调用parse方法,如接收到item,就需取调用process_item
下载器
用于下载网页内容,并将玩野内容返还给蜘蛛(scrapy下载是建立在
Twisted这个高效的异步模型上的)
注: 异步的体现在下载器中
调度器(队列+过滤器)
是一个容器,用来接收引擎发送过来的请求,压入队列中,并在引
擎再次请求的时候返回,可以看成是一个url的队列,由它来决定
下一个要抓取的网址是什么,同时取出重复的网址;
管道
负责处理爬虫从网页中抽取的实体(item),主要功能是持久化实体、
验证实体的有效性、清除不需要的信息,当夜面被爬虫解析后,将被
发送到管道,并经过几个特定的次序处理数据
图示: