Scrapy框架解读

学习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部件的具体内容后,接下来讲解Scrapy 的运营操作流程

Scrapy工作流程:
1.engine打开一个网站,获得初始请求开始抓取
2.engine开始向调度器(Scheduler)请求
3.调度器(Scheduler)返回一个请求给engine
4.engine将请求发送到下载器(Downloader)
5.下载器(Downloader)完成下载,将下载结果通过下载器中间件(Downloader Middlewares)返回给engine
6.engine将下载返回结果通过Spider中间件(Spider Middlewares)给Spider处理
7.Spider处理完成后,通过Spider中间件(Spider Middlewares)将处理后的数据items及request新请求发送给engine
8.engine将items发送给Item Pipeline进行数据存储,将新请求发送给调度器(Scheduler),调度器(Scheduler)计划处理下一个请求抓取

9.重复过程(第三步开始),直到爬取完所有的request请求

以上九点就是Scrapy的工作流程,看起来是不是很简单呢,下节内容再继续深入了解Scrapy。

内容纯属个人理解,如果有不足之处或者错误之处请提示一下,谢谢。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值