学习python网络爬虫怎能不知道Scrapy这种简单易用的框架呢?今天我就给大家解读一下Scrapy这个框架。
Scrapy是一款优秀的开源框架,由python开发,集屏幕抓取与web抓取与一身的优秀爬虫框架,操作简单,拓展方便。Scrapy用途广泛,除了可以进行网页抓取数据外,还可以进行数据挖掘,监测以及自动化测试。但在这里我们主要讲解它的爬虫部分功能。
Scrapy框架本身是由7个部件组成,Scrapy engine,调度器(Scheduler),下载器(Downloader),Spider,Item Pipeline,下载器中间件(Downloader Middlewares),Spider中间件(Spider Middlewares)具体内容可看下面结构图。
Scrapy engine顾名思义它就是这个框架的引擎,重要所在,就跟人的心脏一样。它主要负责控制数据流在系统的所有组件中流动,并在相应动作发生时触发事件。
调度器(Scheduler)呢主要负责从engine中接收request并将它们入队,以便engine之后请求时发送给engine
下载器(Downloader)则负责获取页面的数据并将数据返回给engine
下载器中间件(Downloader Middlewares):engine跟Downloader之间的特定钩子(special hook),处理Downloader返回给engine的Response
Spider:用户编写的分析Response并提取Items
Spider中间件(Spider Middlewares):engine跟Spider之间的特定钩子(special hook),处理Spider的输入(response)和输出(items及Request)
Item Pipeline:负责处理被Spider提取出来的items,进行数据存储。
讲解完Scrapy部件的具体内容后,接下来