scrapy框架流程
scrapy框架是基于python的爬虫框架,大致流程如下:
scrapy 是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量代码,
就能够快速的抓取到数据内容。 Scrapy 使用了 Twisted’twɪstɪd异步网络框
架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,
可以灵活的完成各种需求。
scrapy 框架的工作流程:
1.首先Spiders(爬虫)将需要发送请求的url(requests)经ScrapyEngine(引擎)交给Scheduler
(调度器)。
2.Scheduler(排序,入队)处理后,经ScrapyEngine,DownloaderMiddlewares(可选,主要
有User_Agent, Proxy代理)交给Downloader。
3.Downloader向互联网发送请求,并接收下载响应(response)。将响应(response)经
ScrapyEngine,SpiderMiddlewares(可选)交给Spiders。
4.Spiders处理response,提取数据并将数据经ScrapyEngine交给ItemPipeline保存(可以是本
地,可以是数据库)。提取url重新经ScrapyEngine交给Scheduler进行下一个循环。直到无Url
请求程序停止结束。
scrapy 是一个Python爬虫框架,爬取效率极高,具有高度定制性,但是不支持分布式。而
scrapy-redis一套基于redis数据库、运行在scrapy 框架之上的组件,可以让scrapy 支持分布式策略,
Slaver端共享Master 端redis数据库里的item队列、请求队列和请求指纹集合。
为什么选择redis数据库,因为redis支持主从同步,而且数据都是缓存在内存中的,所以基于redis
的分布式爬虫,对请求和数据的高频读取效率非常高
scrapy框架流程相关推荐
- 使用Scrapy框架爬取微医H5数据
环境搭建 安装 安装python爬虫框架scrapy $ pip install scrapy 由于页面是动态渲染的,所以采用打开浏览器的方式进行数据爬取,所以需要安装selenium $ pip i ...
- python爬虫之Scrapy框架的post请求和核心组件的工作 流程
python爬虫之Scrapy框架的post请求和核心组件的工作 流程 一 Scrapy的post请求的实现 在爬虫文件中的爬虫类继承了Spider父类中的start_urls,该方法就可以对star ...
- Scrapy框架的概念、作用和工作流程
1. scrapy的概念 Scrapy是一个Python编写的开源网络爬虫框架.它是一个被设计用于爬取网络数据.提取结构性数据的框架. Scrapy是一个为了爬取网站数据,提取结构性数 ...
- scrapy框架的概念和流程
1.scrapy框架的概念: 文档地址:http://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/overview.html Scrapy 使用了Twisted ...
- 爬虫学习笔记(六)——Scrapy框架(一):安装、运行流程及简单使用
文章目录 一.简介 二.安装(Windows) 三.运行流程 3.1.数据流 3.2.组件介绍 3.3.简单使用 3.3.1.项目命令 3.3.2.shell 交互式平台 四.小案例:爬取豆瓣电影 4 ...
- 爬爬爬——了解scrapy框架工作流程
丧丧的春节过了,又到了学习的季节--熟悉scrapy框架 为什么选择用框架: 不用重复造轮子,scrapy 底层是异步框架 twisted ,吞吐量高. 1.scrapy 的基础概念: scrapy ...
- Python爬虫之Scrapy框架系列(1)——初识Scrapy框架【安装+简介+运行流程+组件介绍】
目录: 1.Scrapy模块安装 2.Scrapy框架简介 2.1 Scrapy是个啥? 2.2 我们为啥要用这玩意呢? 3.运行流程 3.1 引入: 3.2 进入正题: 3.3 数据流: 3.4 中 ...
- scrapy框架使用流程
scrapy介绍 上面的这张图是Scrapy的整个结构.你可以把整个Scrapy框架看成是一家爬虫公司.最中心位置的Scrapy Engine(引擎)就是这家爬虫公司的大boss,负责统筹公司的4大部 ...
- 爬虫基础分享Scrapy框架流程图与安装
从头开发一个爬虫程序是一项烦琐的工作,为了避免因制造轮子而消耗大量时间,在实际应用中我们可以选择使用一些优秀的爬虫框架,使用框架可以降低开发成本,提高程序质量,让我们能够专注于业务逻辑.所以,我们一起 ...
最新文章
- webapi 返回类型
- 背包问题九讲 v1.0
- 【LeetCode从零单排】No.7 Reverse Integer
- Linux多任务编程——进程
- Python中docstring文档的写法
- CF Edu54 E. Vasya and a Tree DFS+树状数组
- 设计模式 代理模式和装饰模式的区别
- 【例题+习题】【数值计算方法复习】【湘潭大学】(二)
- 三种常用的MySQL建表语句(转)
- byteofpython中文gitbook_GitBook 简明教程
- ipad是买WiFi版的好,还是买4G版的好?
- JavaWeb——Mybatis进阶mapper代理
- Cesium:去除原生自带右上角弹窗
- m6000查看端口状态_Linux查看端口使用状态、关闭端口方法
- 初识Java 之软件下载与安装配置
- aspose-cad dwg转pdf dwg转png dwg转svg
- 3d场景渲染插件MultiScatter 1.623
- 新南威语言班C加,【干货来了】新南威尔士大学UEEC语言班 你了解多少?
- Google确认Chrome存在严重漏洞,向20亿用户发出警告:你们需立即更新浏览器
- 关于java变量命名,介绍阿里JAVA命名规范及IDEA实时检测插件的使用以及CODELF取名神器
热门文章
- 路由器的telnet(路由器如何开启telnet)
- vba实例,用vba写一个有意思的抽奖系统
- XP下VS2005导入excel类
- mac 需要管理员身份
- 最新优惠:无限次视频回放及1v1老师指导--计算机辅助药物设计分子动力学系列专题
- python 时间戳转iso 8601_iso8601时间格式以及转换
- (待更新)基于Visio的三维光路结构示意图绘制实例演示-技术细节
- 常用命令(转http://blog.csdn.net/ljianhui/article/details/11100625/)
- mapgis6.7二次开发vc6_demo 之一(主窗体构架)
- “21天好习惯”第一期- 4 简单的壁纸爬虫