1、scrapy简介
scrapy是一个基于Twisted异步框架的一个高效爬取框架,它是一个纯Python编写的框架,它提供了几个重要的组件,你只需要简单地步骤就可以实现一个网站的爬取。除此之外scrapy还是一个扩展性非常强的框架,你可以基于这些组件取定制适合你业务的功能。
2、scrapy架构概览
我们来看看官方文档上给出的架构,先上图,再解释
3、组件(components)
scrapy提供了几个核心的组件,我们分别来说说它们的功能:
(1)Scrapy Engine: 它是整个架构中最核心的部分,它负责控制所有的数据在各个组件之间的流动,并根据相应的条件触发对应的事件。正如它的名字一样它是整个框架的“引擎”输出动力
(2)Scheduler: 调度器负责将所有的从engine接收的request加入请求队列,在engine需要时提供给engine
(3)Downloader: 从engine获得request并从web下载页面返回给engine,然后由engine将页面提供给spider
(4)Spider: Spid