scrapy (一)

时间:2022-11-19 20:08:11

scrapy框架

scrapy 是一个爬虫框架,能够高效率,高层次的爬取页面的数据并进行处理。

在scrapy的英文文档中,有这样的一个流程图

scrapy (一)

scrapy 框架主要分为五大部分,spider, engine,scheduler,downloader,item pipelines

spider:是用户自己编写的爬虫主程序,爬取那些网站,获取网上的什么数据,等

engine: 引擎,是scrapy爬虫框架的主体结构,负责整个框架的运转,就像电脑的cpu一样,控制着框架中数据流的流动,同时负责调动各个组件的调用。

scheduler:调度器,相当于一个牧羊人,主要是把从spider中得到的Requests 放进队列中,按照顺序排列 听从引擎的指挥。

downloader: 下载器,负责解析Requests 得到response

item pipelines :item 是爬虫程序获取的数据 ,最后存入管道里 有pipelline进行数据的处理  比如写入数据库,保存本地json文件,excel文件等方式。

其大致流程为:

  启动爬虫程序的时候,引擎(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