Scrapy框架大体包括如下几个组件:Scrapy Engine、Spiders、Scheduler、Item Pipeline、Downloader;数据库
这是框架的核心,负责控制数据流在整个系统的各个组件间的流动过程,而且在特定动做发生时触发相应事件。框架
调度程序从Scrapy引擎接受其传递过来的Request对象,而且将该对象加入到队列中,下次Scrapy引擎发出请求时再将对象传递给引擎。scrapy
下载器负责对目标页面发出请求而且获取到页面反馈的数据,以后传递给Scrapy引擎,最终传递给爬虫进行数据提取。ide
爬虫是Scrapy的用户自行编写的程序用来提取数据,针对下载器返沪的Response进行分析,或者指定其它须要跟进的URL和处理方法。url
数据管道负责处理被爬虫提取出来的Item数据,能够定义多个数据管道来作多种不一样的数据操做,好比数据清理、验证、写入数据库;Item能够在不一样的数据管道中进行传递,能够设置每一个数据管道的优先级,Item会按照优先级依次通过全部的数据管道。spa
它的流程图以下:code
步骤以下:对象
Start_urls
来指定或者重载爬虫类的start_request
方法指定),而后将URL网址的Request传递给调度器;Response
的形式传递给爬虫;