收藏 400-998-9776 转2 服务时间 周一至周日 9:00-23:00 注意:本站不提供境外服务
您的位置:首页 >文章内容
分布式爬虫是什么意思?设计分布式爬虫要注意什么?
来源:互联网 作者:admin 时间:2019-02-26 16:43:43

  我们使用爬虫的目的就是为了能够大量快速的抓取数据,满足抓取上百、上千、上万甚至更多网页的需求,这么单个爬虫何时能爬取完呢?怎么能够加快爬取的速度?可以使用多爬虫的框架。比如分布式爬虫,分布式爬虫是什么意思?设计分布式爬虫要注意什么呢?


  一、单机爬虫


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


  二、分布式爬虫


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


分布式爬虫是什么意思?设计分布式爬虫要注意什么?


  三、设计分布式爬虫要注意什么


  1.分布式


  多网站抓取,数据量一般也比较大,可分布式扩展,这也是必需的功能了。分布式,需要注意做好消息队列,做好多结点统一去重。


  2.代码复用,功能模块化


  如果针对每个网站都写一个完整的爬虫,那其中必定包含了许多重复的工作,不仅开发效率不高,而且到后期整个爬虫项目会变得臃肿、难以管理。


  3.架构简明


  要方便以后未知功能模块的添加。


  4.易扩展


  多爬虫框架,这最直观的需求就是方便扩展,新增一个待爬的目标网站,我只需要写少量必要的内容(如抓取规则、解析规则、入库规则),这样最快最好。


  5.爬虫优化


  这就是大话题了,但最基本的,框架应该要基于异步,或者使用协程+多进程。


  6.健壮性、可维护性


  这么多网站同时抓取,报错的概率更大,例如断网、中途被防爬、爬到“脏数据”等等。所以必须要做好日志监控,能实时监控爬虫系统的状态,能准确、详细地定位报错信息;另外要做好各种异常处理,如果你放假回来发现爬虫因为一个小问题已经挂掉了,那你会因为浪费了几天时间而可惜的(虽然事实上我个人会不时地远程查看爬虫状态)。


  上文介绍了关于分布式爬虫,其实要写一个支持分布式、多爬虫的框架,具体的实现上还是有一定难度的。另外,在实现主要功能以外,还要注意做到代码严谨规范,爬虫高效健壮的要求。


相关文章内容简介
推荐阅读
  • 30 2019-03
    获取招聘网的简历有几种方法?爬虫换代理IP进行采集

    通过简历可以拿到很多用户的个人信息,这也是当下非常多人都想获取到的信息,但招聘网也没有那么好抓取,信息泄露严重,也就没有什么用户敢使用了。因此,想要获取到招聘网的用户简历

  • 19 2019-04
    讲解各种代理IP背后的原理

    讲解各种代理IP背后的原理:知道代理IP的人越来越多了,不管是单纯的换IP,还是进行大量的数据采集,或者是游走于灰色之中,都是离不开代理IP这个工具的,但是很少人会关注各种代理IP背

  • 21 2019-05
    怎么选购国内ip代理?

    怎么选购国内ip代理?选择国内ip代理之前,我们需要断商家产品质量,这需要对产品进行检测,即对IP进行检测,检测其使用效果,若是效果不符合即弃,另选其他商家购买。

  • 05 2019-01
    打码赚钱需要使用换IP工具吗?有什么区别?

    都说打码赚钱,这时一个网络兼职工作,这网上打码兼职可靠吗?从打码网赚兼职刚开始出现,就看见好多类似的评价,在网上的评价很多都是说打码辛苦,不挣钱的说法,这是真的吗?

  • 27 2019-03
    伪装ip的技巧,把自己的IP地址换代理IP

    不想被别人知道我们的IP地址,最有效的方法估计是使用代理IP了,为什么这么说呢?这是由原因的,代理IP有隐藏IP地址的作用,这样使用之后岂不是就能达到伪装ip的效果了!

  • 12 2019-04
    明星打榜投票,是否可以换ip继续投票?

    明星打榜投票,是否可以换ip继续投票?当下不管是明星还是网红主播,都很多喜欢的,经常有什么榜之类的需要进行投票,但是各位追星小伙伴们平时肯定有这样的苦恼,那就是在为喜欢的明