scrapy框架数据库
scrapy 是一个爬虫框架,可以高效率,高层次的爬取页面的数据并进行处理。json
在scrapy的英文文档中,有这样的一个流程图框架
scrapy 框架主要分为五大部分,spider, engine,scheduler,downloader,item pipelinesscrapy
spider:是用户本身编写的爬虫主程序,爬取那些网站,获取网上的什么数据,等ide
engine: 引擎,是scrapy爬虫框架的主体结构,负责整个框架的运转,就像电脑的cpu同样,控制着框架中数据流的流动,同时负责调动各个组件的调用。网站
scheduler:调度器,至关于一个牧羊人,主要是把从spider中获得的Requests 放进队列中,按照顺序排列 遵从引擎的指挥。url
downloader: 下载器,负责解析Requests 获得responsespa
item pipelines :item 是爬虫程序获取的数据 ,最后存入管道里 有pipelline进行数据的处理 好比写入数据库,保存本地json文件,excel文件等方式。excel
其大体流程为:blog
启动爬虫程序的时候,引擎(engine)根据spider中的start_urls列表中的url获取Request类 交给调度器(scheduler),调度器将获得的Requests放进队列中,而后引擎从队列中取出Requests 再交给下载器(downloader),下载器获得respons响应,引擎在将获得的响应发送给spider 主程序,进行解析,会获得解析的的数据(item)和Requests 引擎将获得的数据,放入pipelines中进行数据处理(保存数据库,保存本地json文件等),获得的Requests 引擎再交给调度器,放入队列中,从这一步骤开始循环,直到spider获得数据都是item放进pipeline里面进行处理 整个爬虫程序结束。
爬虫程序结构
|--------------------------------------------SpiderTest
|-----------------------------spiders
|---------__init__.py
|--------------test.py
|-------------------------__init__.py
|----------------------------items.py
|-------------------middlewares.py
|------------------------pipelines.py
|--------------------------settings.py