基于集群的分布式爬虫系统的架构研究

来源 :科学与财富 | 被引量 : 0次 | 上传用户:jxt1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:互联网时代,如何从海量数据中收集信息是一个关键问题。目前,使用最频繁的信息检索与收集工具是基于通用爬虫的搜索引擎。与通用爬虫相比,主题爬虫尽量避免与主题不相关页面的抓取,存储的页面数量更少,所获取的信息价值密度更高,是一种有效的信息收集工具。如何通过有效的架构设计降低爬虫任务的耗时是一个关键问题。
  关键词:主题爬虫;架构;Scrapy
  网络爬虫指的就是一种根据既定规则对Web网页中应用程序或脚本进行自动提取的技术。如今,各大搜索引擎网站和大型互联网企业均在大幅使用此类爬虫程序,爬取目标网站的网页信息,以实时更新企业内部服务器关于这类信息的内容。网络爬虫的步骤流程一般可分为采集数据,分析或转换数据,存储数据三个部分。在传统爬虫中,首先给定一个或者多个URL,爬虫程序开始运行,从给定的URL上获取网页的信息,分析过滤新获取的URL,存入等待爬取的URL数据库表中,不断重复此过程。
  单机版本的网络爬虫存在很明显的缺陷,受限于单独的主机配置,不能任意扩展性能,在生产环境中极少使用。因此,目前网络爬虫一般均会使用分布式爬虫架构,可以在多个节点同时运行,大幅提高了爬虫速度和效率。对于分布式爬虫架构,常见的有主从式、对等式、混合式架构。
  1  主从式架构
  在主从分布式结构中,一般只有一个主节点,其余均为从节点。主节点负责URL的存储与分发,其它节点则进行网页的爬取下载工作。主节点服务器负责维护待爬取的URL队列,并且主动给从节点分配URL,所以主节点还需要考虑整个系统的负载均衡的问题。不能让某个从节点压力过大,也不能让某个从节点一直空闲。主节点需要根据从节点反馈的任务执行情况来增减某一个从节点的负载压力,以发挥整个系统最大的效率。在各个从节点之间一般没有通信链路,各个从节点只会和主节点相互联系。因为后期URL的数量巨大,所以主节点的URL服务器对待爬取队列的维护和URL的分发将会承受极大压力。
  因此,主从分布式结构性能效率的提升关键在于主节点的URL服务器。主从分布式拓扑示意图如1-1所示。
  2  对等式架构
  在对等式架构中,各个节点之间不存在所谓的主从之分。每个节点都会有爬虫任务运行,各个节点各自维护自己的待爬取URL队列。因此这就存在数据
  同步的问题,多个节点可能会对同一网页多次爬取,这会大大的浪费节点的资源。既然各个节点不能各自为政,那么如何分工协作就是一个问题了。常见的有以下两种解决方式:哈希取模和一致性哈希。哈希取模是在爬取之前各节点会计算网站域名的哈希值,然后对节点个数取模,取模的结果就代表了该域名下应由哪个节点进行爬取。但该方法存在一些弊端,若有一个节点宕机了,取模数就会发生变化,以致于最终结果就会发生混乱。另外,不同网站的网页数据量也不一样,不同的节点爬取不同域名下的网站,这也可能会存在负载均衡的问题。一致性哈希算法直接将网站主域名进行哈希映射,结果范围是0-2^32之间的某个数。将该范围首尾相连成环,每个服务器就负责其中的一小段,如果某一个节点服务器宕机,就将该服务器的任务顺延至下一个节点服务器。对等式架构不存在独立的URL服务器,因此不会存在性能瓶颈的问题,但是整个系统实现起来比主从式架构更加复杂。对等分布式拓扑示意图如图2-1所示。
  3  主从混合模式
  此模式是参考了主从式架构的设计基础,并且也揉合了对等式架构的特性。在此架构模式中,由主节点和从节点之分,每个节点均会有爬虫任务。主节点上有着系统唯一的URL服务器,各个从节点与主节点相互通信,各个从节点之间不会相互通信。该模式主要是考虑到了目的网站链接的特殊性,主节点仅对一类特殊链接进行爬取,从节点也仅对另一类特殊链接爬取,两类节点爬取的链接不会交叠重复。此模式设计的好处是比对等式更简单,系统设计和程序代码实现起来更加容易;而与主从式相比,增设了主节点爬取小部分特殊链接的任务。本系统参考了Python语言编写的经典的爬虫框架Scrapy,利用Redis数据库,解决了其不支持分布式的缺点。
  4 Scrapy-Redis框架
  Scrapy 是一款基于Python开发的开源web爬虫框架,可快速抓取Web站点并提取页面中的结构化数据,具有高度的扩展性和鲁棒性。但是在面对大量的网页数据需要处理时,单主机的爬虫程序效率低下的缺点就显得尤为突出,远远不能满足项目的要求了,此时就必须使用分布式爬虫了。然而单独的原始Scrapy
  框架并不支持分布式,因此在Scrapy的框架基础上衍生出了Scrapy-Redis分布式爬虫框架。它利用Redis
  调度和存储需要爬取的请求,并存储爬取产生的项目以供后续处理使用。Scrapy-Redis重写了Scrapy一些比较关键的模块,使Scrapy支持了分布式架构。
  在信息时代的今天,互联网数据量爆发增长,云计算和大数据的应用场景也越来越丰富。互联网大数据对于大型企业收集分析客户需求、意向和商业前景市场调研就极为重要。在企业的商业决策上、经营方向上需要大量准确的可靠数据做支撑,所以如何快速准确地获取大量的目的数据信息就是一个迫切需要解决的问题。本系统基于Docker容器集群部署的分布式爬虫系统,采用了Scrapy-Redis分布式爬虫框架,改进了URL去重模块,增设了页面文本去重模块,优化了对于反爬虫问题的处理,对于整个系统的高效性与健壮性增加了一层坚实保障。
  参考文献:
  [1] 杜晓旭,贾小云.基于Python 的新浪微博爬虫分析[J].软件,2019,40(04)
  [2]邓万宇,刘光达,董莹莹.一种基于Scrapy-Redis 的分布式微博数据采集方案[J].信息技術,2018(11).
  作者简介:
  和乾(1981)男,黑龙江大庆人,讲师,大学本科, 主要从事计算机网络专业网络安全、网络操作系统的教学及安全理论考试点的运维工作。
  (大庆职业学院  黑龙江  大庆  163255)
其他文献
摘 要:富平柿饼的供应链就像一把双刃剑,一方面制约着富平柿饼的发展,另一方面又可以促进富平柿饼的发展。因此,利用信息化的时代背景,借鉴现阶段富平柿饼供应链的发展现状,从整体到各环节,为富平柿饼供应链的优化提出新的对策,提升富平柿饼供应链的运作效率,增加富平柿饼产生的地区经济收益,推动富平经济发展。  关键词:富平柿饼;供应链;信息化时代;经济发展;农产品  一、引言  富平作为“柿子之乡”、“柿饼
期刊
1概况  JC油田稠油井生产过程中,原油中胶质、沥青质、石蜡等析出堵塞油层孔隙,另外伴有乳状液堵塞和无机物沉积堵塞,导致油井注汽效果差,产量下降快,生产周期短。  从稠油区块注汽压力来看,以J7、J607块为例,压力上升油井比例达30%以上,且油井压力上升井次逐年增加,因此油层堵塞已成为影响油井生产的主要问题之一。  针对稠油井以上问题,我们主要采用油层酸化处理、解堵处理剂技术,解除堵塞,恢复油井
期刊
摘 要:随着社会经济的快速进步和发展,促进了人们生活水平得到了有效提升,在这样的一种发展形势背景下,增加了对供水的需求量。从我国目前供水工程建设中我们可以看到,其中大部分工程還仍然采用的是以往传统的建设形式,在自动化程度方面相对较低,而且其水厂的运营管理成本也较高。在现代化工业生产得以迅速发展的影响下,电气自动化控制系统逐渐在水厂中得到了广泛应用,并取得了显著应用成效。  关键词:电气自动化控制系
期刊
摘 要:本文系统地介绍四川省电力市场的基本情况,详细地分析了弃水形成的主要原因,论述了解决弃水问题的重要性和紧迫性。  关键词:弃水现状;通道建设;省际壁垒 ;可持续发展  1四川水电弃水现状  由于受全球经济复苏放缓,我国经济发展进入新常态,经济增长从高速转向中高速,经济增长已由过10%以上的高速增长转为6%-7%的中高速增长的新常态。虽然我国目前仍处于工业化、城镇化加快发展阶段,工业用电还存在
期刊
摘 要:在互联网技术普及后,电子信息工程管理中已经融入了互联网技术。电子信息技术在社会生产与生活中已经得到了广泛性的应用,并且社会经济的发展也是由电子信息技术快速推动的,比如手机、计算机网络等都是信息工程发挥作用后而实现的,通过信息工程为人们进行服务可满足人们的信息需求,也有效提升了人们的生活质量。  关键词:电子信息工程;计算机;应用策略  电子信息工程为人们提供了大量的信息,满足人们在信息方面
期刊
摘 要:将Bim技术应用于现代机电安装工程中能够很大程度的降低施工成本并且确保工程的质量水平。Bim技术不仅可以帮助设计人员便捷的建立机电安装模型,而且还可以合理的控制施工进度,为机电安装工程的运营以及维护提供准确详细的参考资料。本文分析了Bim技术在机电安装工程中主要的应用方式,希望能为机电安装工程提供有效的建议。  关键词:Bim技术 ;机电安装工程 ;应用方式  在机电安装企业中,机电安装的
期刊
摘 要:脑血栓(cerebralthrombosis)是指脑动脉由于局部血管自身病变而继发血栓形成导致血管壁增厚、管腔狭窄或闭塞,引起脑局部血流减少或供血中断,脑组织缺血、缺氧、坏死而出现局灶性神经功能缺损的症状和体征。血液成分得改变、血液凝固性增高等都可导致血栓的形成。急性期的治疗要力争在4.5小时黄金时间窗内进行溶栓治疗,降低脑代谢、控制脑水肿保护及保护脑细胞,挽救缺血半暗带。一般用药物治疗进
期刊
摘 要:调查了温州龙湾机场内场草坪2019年的昆虫发生动态,结果发现,7月份之前,小飞虫类是优势种群,其他昆虫总体发生量不大。6月中旬到9月下旬,昆虫种类较多。且无明显优势种群。9月中旬到11月中旬,机场草坪内的昆虫鳞翅目较多,鳞翅目是优势种群。因此,6月中旬以前重点防治小飞虫,6-9月份要用相对广谱的药剂,9月份之后要以防控鳞翅目害虫为主。  关键词:温州龙湾国际机场;昆虫发生动态;调查  鸟击
期刊
摘 要:架空输电线路所面临的灾害故障中,鸟害故障是最为常见的一种,对其展开分析,并围绕灾害问题,探讨具体的防范措施是尤为必要的。本文以此为出发点,围绕架空输电线路中鸟害故障问题出现的主要原因展开具体分析,并基于原因,从两个方面实现对于防范措施的讨论,为架空输电线路鸟害故障的进一步防范提供理论依据。  关键词:架空输电线路;鸟害故障;防范措施  引言:  鸟害故障问题对于架空输电线路而言,是一个常规
期刊
摘 要:随着科学技术的发展以及经济建设的不断完善,我国的各行各业的发展也有了前所未有的进步。而工商管理在经济发展的过程中扮演着极其重要的角色。因此,工商管理的职能也随着时代发展的进程发生了相应的改变。对此,文章根据工商管理应遵循的原则和当前的现状,分析了新时代其发挥的职能和实施策略。  关键词:新形势下;工商管理;经济发展;相关性研究  0引言  企业在实际发展的过程中,为全面提升管理水平,应该积
期刊