慕课网实战课-畅销3年的Python分布式爬虫课程-原版提取

慕课网实战课-畅销3年的Python分布式爬虫课程-原版提取

图片

图片

图片

经过前面的介绍,相信大家已经对Python爬虫有了初步的了解,对一些常见的网站爬虫,应该也能够轻松实现。不难发现,我们在使用单一爬虫进行爬取数据时有明显缺陷——速度慢,当我们需要进行大规模数据采集时,这种速度难以满足我们的需求。此时,就需要分布式爬虫的帮助了。由于对分布式系统不做过多解释,有兴趣的朋友可以自行查阅了解,我们将重点放在分布式爬虫上,下面是几点简单介绍:

Ⅰ. 简介
一. 什么是分布式爬虫:

  1. 默认情况下,我们使用scrapy框架进行爬虫时使用的是单机爬虫,就是说它只能在一台电脑上运行,因为爬虫调度器当中的队列queue去重和set集合都只能在本机上创建的,其他电脑无法访问另外一台电脑上的内存和内容。

  2. 分布式爬虫实现了多台电脑使用一个共同的爬虫程序,它可以同时将爬虫任务部署到多台电脑上运行,这样可以提高爬虫速度,实现分布式爬虫。

    二. 分布式爬虫的前提:

  3. 要保证每一台计算机都能够正常的执行scrapy命令,能够启动爬虫,这是对计算机硬件的最低水平、计算机系统环境和网络等多方面的基本需求,不再赘述。

  4. 要保证所有的爬虫程序可以访问同一个队列一个set集合。

针对第二个条件,需要以下特殊声明:
想要满足第二个条件,我们要使用scrapy_redis。想要保证多台机器共用一个queue队列和set集合,在scrapy框架中,是需要结合scrapy_redis完成的。分布式爬虫可以让所有机器上的爬虫程序,从同一个queue队列中获取request请求,并且每个机器取出request,请求的对象是不一样的,直到所有的request被请求完毕。

图片

  1. 分布式爬虫对电脑的性能有一定的要求(特别是处理器,也就是常说的cpu)。
  2. 分布式爬虫对网速也有一定的要求 。

注意:电脑性能和网速如果不是很好的话,分布式爬虫效率反而不如单一爬虫。并不是任何时候都可以使用分布式爬虫,如果你需要大规模获取数据,不满足于单一爬虫的效率,而且硬件条件能够得到满足,那么就使用分布式爬虫吧。当然,大部分情况下,由于对硬件有要求,一些刚成立的小公司可能负担不起这样的成本。

四. 分布式爬虫经常和redis数据库一起使用:

redis数据有几个特点,首先它的优点是:

  1. 默认使用持久化数据方式

  2. 体积小,使用方便

  3. 如果存储数据量比较大的话,启动速度很快

  4. 数据库中的数据和内存中的数据可以相互访问
    最主要的缺点是:从安全性角度来说,数据持久化可能会容易崩溃,造成数据丢失

    五. 要实现分布式爬虫,首先要配置服务器主从:
    配置主从的目的:
    1.达到一个备份的功能,一旦master出现崩溃而数据库中还有数据的话,可以将其中的一个slave重新设置为主服务器,从而恢复redis的正常运行。
    2.一个redis服务器负责读写,性能较低,通过主从来减轻一个redis的压力。

    图片

    六. redis主从的配置:
    redis作为缓存服务器,主要是将数据在内存中进行缓存,但是一台机器的内存和性能是有限的,当对于redis数据库的数据进行读写量较大时,那么一台redis就不能满足需求了,此时需要将redis部署到多台机器上,用以写入数据的redis,称之为master,而只负责读取数据的redis,称之为slave。
    七. redis主从的特点:
    1.master只负责写入数据,slave只负责读取数据。
    2.当slave创建的时候,会向master发送一个同步的命令,master接收到命令以后,将数据同步给slave。
    3.master只能有一个,slave可以有多个。

Ⅱ. redis的安装
前面大概了解了一下redis的作用,现在进入实际操作,从最基本的安装做起。

  1. 进入redis下载链接下载最新版本,如图所示,本文采用的是3.2.100版本。
暂无优惠 永久钻石免费

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
9dm 玖大猫 九大猫 3dm 游戏 上古卷轴 原神 单机游戏 王者荣耀 手机游戏 和平精英 蛋仔派对 vam 植物大战僵尸 梦幻西游 网络游戏 我的世界 英雄联盟 球球大作战 迷你世界 暗区突围 游戏下载 免费游戏 mod
提示下载完但解压或打开不了?
最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或 联络我们.。
你们有qq群吗怎么加入?
当然有的,如果你是帝国cms、易优cms、和pbootcms系统的爱好者你可以加入我们的QQ千人交流群http://g.stb8.cn/page-qun.html。

发表评论