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框架流程相关推荐

  1. 使用Scrapy框架爬取微医H5数据

    环境搭建 安装 安装python爬虫框架scrapy $ pip install scrapy 由于页面是动态渲染的,所以采用打开浏览器的方式进行数据爬取,所以需要安装selenium $ pip i ...

  2. python爬虫之Scrapy框架的post请求和核心组件的工作 流程

    python爬虫之Scrapy框架的post请求和核心组件的工作 流程 一 Scrapy的post请求的实现 在爬虫文件中的爬虫类继承了Spider父类中的start_urls,该方法就可以对star ...

  3. Scrapy框架的概念、作用和工作流程

    1. scrapy的概念         Scrapy是一个Python编写的开源网络爬虫框架.它是一个被设计用于爬取网络数据.提取结构性数据的框架. Scrapy是一个为了爬取网站数据,提取结构性数 ...

  4. scrapy框架的概念和流程

    1.scrapy框架的概念: 文档地址:http://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/overview.html Scrapy 使用了Twisted ...

  5. 爬虫学习笔记(六)——Scrapy框架(一):安装、运行流程及简单使用

    文章目录 一.简介 二.安装(Windows) 三.运行流程 3.1.数据流 3.2.组件介绍 3.3.简单使用 3.3.1.项目命令 3.3.2.shell 交互式平台 四.小案例:爬取豆瓣电影 4 ...

  6. 爬爬爬——了解scrapy框架工作流程

    丧丧的春节过了,又到了学习的季节--熟悉scrapy框架 为什么选择用框架: 不用重复造轮子,scrapy 底层是异步框架 twisted ,吞吐量高. 1.scrapy 的基础概念: scrapy ...

  7. Python爬虫之Scrapy框架系列(1)——初识Scrapy框架【安装+简介+运行流程+组件介绍】

    目录: 1.Scrapy模块安装 2.Scrapy框架简介 2.1 Scrapy是个啥? 2.2 我们为啥要用这玩意呢? 3.运行流程 3.1 引入: 3.2 进入正题: 3.3 数据流: 3.4 中 ...

  8. scrapy框架使用流程

    scrapy介绍 上面的这张图是Scrapy的整个结构.你可以把整个Scrapy框架看成是一家爬虫公司.最中心位置的Scrapy Engine(引擎)就是这家爬虫公司的大boss,负责统筹公司的4大部 ...

  9. 爬虫基础分享Scrapy框架流程图与安装

    从头开发一个爬虫程序是一项烦琐的工作,为了避免因制造轮子而消耗大量时间,在实际应用中我们可以选择使用一些优秀的爬虫框架,使用框架可以降低开发成本,提高程序质量,让我们能够专注于业务逻辑.所以,我们一起 ...

最新文章

  1. webapi 返回类型
  2. 背包问题九讲 v1.0
  3. 【LeetCode从零单排】No.7 Reverse Integer
  4. Linux多任务编程——进程
  5. Python中docstring文档的写法
  6. CF Edu54 E. Vasya and a Tree DFS+树状数组
  7. 设计模式 代理模式和装饰模式的区别
  8. 【例题+习题】【数值计算方法复习】【湘潭大学】(二)
  9. 三种常用的MySQL建表语句(转)
  10. byteofpython中文gitbook_GitBook 简明教程
  11. ipad是买WiFi版的好,还是买4G版的好?
  12. JavaWeb——Mybatis进阶mapper代理
  13. Cesium:去除原生自带右上角弹窗
  14. m6000查看端口状态_Linux查看端口使用状态、关闭端口方法
  15. 初识Java 之软件下载与安装配置
  16. aspose-cad dwg转pdf dwg转png dwg转svg
  17. 3d场景渲染插件MultiScatter 1.623
  18. 新南威语言班C加,【干货来了】新南威尔士大学UEEC语言班 你了解多少?
  19. Google确认Chrome存在严重漏洞,向20亿用户发出警告:你们需立即更新浏览器
  20. 关于java变量命名,介绍阿里JAVA命名规范及IDEA实时检测插件的使用以及CODELF取名神器

热门文章

  1. 路由器的telnet(路由器如何开启telnet)
  2. vba实例,用vba写一个有意思的抽奖系统
  3. XP下VS2005导入excel类
  4. mac 需要管理员身份
  5. 最新优惠:无限次视频回放及1v1老师指导--计算机辅助药物设计分子动力学系列专题
  6. python 时间戳转iso 8601_iso8601时间格式以及转换
  7. (待更新)基于Visio的三维光路结构示意图绘制实例演示-技术细节
  8. 常用命令(转http://blog.csdn.net/ljianhui/article/details/11100625/)
  9. mapgis6.7二次开发vc6_demo 之一(主窗体构架)
  10. “21天好习惯”第一期- 4 简单的壁纸爬虫