一种分布式爬虫管理系统及其方法技术方案

技术编号:15691080 阅读:80 留言:0更新日期:2017-06-24 03:59
本发明专利技术公开一种分布式爬虫管理系统,包括:用于系统登录和数据展示的主页展示模块;创建项目和对项目进行管理的项目管理模块;对项目爬虫进行部署和管理的爬虫管理模块;对爬虫数据进行监控管理的数据管理模块;对爬虫节点进行管理的节点管理模块和对用户的爬虫进行代理管理的代理管理模块,其中,所述爬虫节点为从云平台上申请的虚拟机。此外,本发明专利技术还提供一种分布式爬虫管理方法。本发明专利技术的分布式爬虫管理系统能够提供反爬解决方案以及爬虫和数据的管理与分析,从而为企业或个人提供安全、高效的数据爬取解决方案。

Distributed crawler management system and method thereof

The invention discloses a distributed crawler management system: a system for login and data display page display module; create the project and project management module for the management of the project management module; crawler deployment and management of the project of the data management module of crawler crawler; data in monitoring and management of the crawler node node; management module management and web crawler on the user's agent management module, agent management in which the node is a virtual machine for reptiles from the cloud on the platform. In addition, the invention also provides a distributed crawler management method. The distributed crawler management system of the invention can provide anti crawling solutions and management and analysis of reptiles and data so as to provide a safe and efficient data crawling solution for enterprises or individuals.

【技术实现步骤摘要】
一种分布式爬虫管理系统及其方法
本专利技术涉及一种分布式爬虫管理系统和方法,具体涉及一种能够对爬虫和爬虫爬取的数据进行管理与分析的分布式爬虫管理系统及其方法。
技术介绍
传统爬虫管理方式去互联网上爬取数据会被一些网站的反爬机制屏蔽掉,导致爬虫开发人员辛辛苦苦开发出来的爬虫爬取不到有用的数据,即使调整爬虫后过一段时间又不能正常爬取数据,反复的修改,对于企业来说既费时间又费金钱,对于开发人员来说重复单调的工作没有任何意义。因此,亟待提供一种能够对爬虫及其爬取的数据进行有效管理和分析的方案。
技术实现思路
为解决上述技术问题,本专利技术提供一种分布式爬虫管理系统,该系统是一个功能强大的爬虫管理平台,主要提供防反爬解决方案以及爬虫和数据的管理与分析,为企业(或个人)提供安全、高效的数据爬取解决方案。本专利技术采用的技术方案为:本专利技术的实施例提供一种分布式爬虫管理系统,包括:主页展示模块,包括登录单元和数据展示单元,所述登录单元为用户访问分布式爬虫管理系统提供接口,用户通过在所述登录单元中输入相应的身份验证信息来访问所述分布式爬虫管理系统,所述数据展示单元用于展示与爬虫相关的数据;项目管理模块,基于用户的指令创建项目,为所创建的项目分配相关的项目爬虫,并导入项目爬虫的任务源,以及对项目和项目爬虫进行管理;爬虫管理模块,基于用户的指令,将用户编辑好的爬虫程序通过上传爬虫入口添加到分布式爬虫管理系统中,基于项目信息中的爬虫策略对爬虫进行部署,并对爬虫的运行状况进行管理;数据管理模块,对项目爬虫爬取到的数据进行监控和统计管理,并将统计后的信息通过数据展示单元进行可视化展示;节点管理模块,基于数据管理模块统计的信息对爬虫所运行的节点进行管理,以确保每个爬虫运行在相对应的爬虫节点上,所述爬虫节点为从云平台上申请的虚拟机;日志管理模块,用于对用户的操作行为进行监控记录;代理管理模块,基于需要代理管理的用户的授权,对授权用户的爬虫任务进行代理管理。可选地,所述爬虫管理模块通过设置反爬虫机制来对爬虫进行部署和管理,其中,所述反爬虫机制包括:基于用户指令,向云平台申请多个IP地址,在爬虫执行爬虫任务的过程中如果被所访问的网站限制,则从申请的多个IP地址中选择一个IP地址来访问被限制访问的网站。可选地,当使用更换的IP地址访问被限制访问的网站后,增加当前延迟下载的时间或者减小网页下载并发数。可选地,所述节点管理模块包括动态调整爬虫节点数的爬虫节点调整单元和监控爬虫节点的爬虫节点监控单元;所述爬虫节点调整单元周期性检测是否需要增加爬虫节点或者减少爬虫节点,如果在预设的多个周期内,每个周期内检测的当前爬虫任务量都超过上限阈值,则增加爬虫节点;如果在预设的多个周期内,每个周期内检测的当前爬虫任务量都小于下限阈值,则减少爬虫节点;当前爬虫任务量基于下述公式来确定:其中,P为当前爬虫任务量,P=1表示当前爬虫节点数量不能满足爬虫任务需求,需要增加爬虫节点,P=-1表示爬虫系统所拥有的爬虫节点数量远远高于实际爬虫任务需求,需要减少爬虫节点,c表示当前爬虫任务数,ui表示第i个爬虫任务的待抓取URL数,n表示当前处于运行状态的爬虫节点数,Fmax表示上限阈值,Fmin表示下限阈值。可选地,所述爬虫节点监控单元周期性检测爬虫节点发送的心跳包,如果在连续的多个周期内,在预定的时间内都没有收到某个爬虫节点发送的心跳包,则判定该爬虫节点已宕机。可选地,所述预设的多个周期为5个周期。可选地,所述数据展示单元用于展示如下信息:项目总数、节点总数、爬虫程序总数、爬虫实例总数、爬取页面任务总量、完成页面爬虫数量、爬取数据总量、爬取数据节点利用率、爬虫节点主机名、爬虫节点IP、爬虫节点是否处于任务抓取状态和爬虫节点是否正常。本专利技术的另一实施例提供一种分布式爬虫管理方法,包括:在主页展示模块的登录单元中输入相应的身份验证信息来访问所述分布式爬虫管理系统,并在主页展示模块的数据展示单元中展示与爬虫相关的数据;在项目管理模块中输入创建项目的指令来创建项目,为所创建的项目分配相关的项目爬虫,并导入项目爬虫的任务源,以及对项目和项目爬虫进行管理;在爬虫管理模块中将编辑好的爬虫程序通过上传爬虫入口添加到分布式爬虫管理系统中,并基于项目信息中的爬虫策略对爬虫进行部署,并对爬虫的运行状况进行管理;在数据管理模块中对项目爬虫爬取到的数据进行监控和统计管理,并将统计后的信息通过数据展示单元进行可视化展示;在节点管理模块中基于数据管理模块统计的信息对爬虫所运行的节点进行管理,以确保每个爬虫运行在相对应的爬虫节点上,所述爬虫节点为从云平台上申请的虚拟机;在日志管理模块中对用户的操作行为进行监控记录;在代理管理模块中对需求代理管理的用户的爬虫任务进行代理管理。可选地,在所述爬虫管理模块中设置反爬虫机制来对爬虫进行部署和管理,其中,所述反爬虫机制包括:基于用户指令,向云平台申请多个IP地址,在爬虫执行爬虫任务的过程中如果被所访问的网站限制,则从申请的多个IP地址中选择一个IP地址来访问被限制访问的网站。可选地,当使用更换的IP地址访问被限制访问的网站后,增加当前延迟下载的时间或者减小网页下载并发数。可选地,在所述节点管理模块的爬虫节点调整单元中周期性检测是否需要增加爬虫节点或者减少爬虫节点,如果在预设的多个周期内,每个周期内检测的当前爬虫任务量都超过上限阈值,则增加爬虫节点;如果在预设的多个周期内,每个周期内检测的当前爬虫任务量都小于下限阈值,则减少爬虫节点;当前爬虫任务量基于下述公式来确定:其中,P为当前爬虫任务量,P=1表示当前爬虫节点数量不能满足爬虫任务需求,需要增加爬虫节点,P=-1表示爬虫系统所拥有的爬虫节点数量远远高于实际爬虫任务需求,需要减少爬虫节点,c表示当前爬虫任务数,ui表示第i个爬虫任务的待抓取URL数,n表示当前处于运行状态的爬虫节点数,Fmax表示上限阈值,Fmin表示下限阈值。可选地,在所述节点管理模块的爬虫节点监控单元中周期性检测爬虫节点发送的心跳包,如果在连续的多个周期内,在预定的时间内都没有收到某个爬虫节点发送的心跳包,则判定该爬虫节点已宕机。可选地,所述预设的多个周期为5个周期。可选地,在所述数据展示单元中展示如下信息:项目总数、节点总数、爬虫程序总数、爬虫实例总数、爬取页面任务总量、完成页面爬虫数量、爬取数据总量、爬取数据节点利用率、爬虫节点主机名、爬虫节点IP、爬虫节点是否处于任务抓取状态和爬虫节点是否正常。与现有技术相比,本专利技术的分布式爬虫管理系统将网络爬虫构建在云平台上,从云平台上申请虚拟机作为爬虫节点,因此能够满足高效率抓取网页的同时提高资源的利用率。此外,能够对爬虫的爬取状况进行实时监控和管理,能够最优化爬虫配置,减少资源的浪费。附图说明图1为本专利技术的分布式爬虫管理系统的框架图。图2为本专利技术的分布式爬虫管理方法的流程图。具体实施方式为使本专利技术要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。图1为本专利技术的分布式爬虫管理系统的框架图。图2为本专利技术的分布式爬虫管理方法的流程图。【实施例1】如图1所示,本实施例提供一种分布式爬虫管理系统,该分布式爬虫管理系统包括主页展示模块1、项目管理模块2、爬虫管理模块3、数据管理模本文档来自技高网...
一种分布式爬虫管理系统及其方法

【技术保护点】
一种分布式爬虫管理系统,其特征在于,包括:主页展示模块,包括登录单元和数据展示单元,所述登录单元为用户访问分布式爬虫管理系统提供接口,用户通过在所述登录单元中输入相应的身份验证信息来访问所述分布式爬虫管理系统,所述数据展示单元用于展示与爬虫相关的数据;项目管理模块,基于用户的指令创建项目,为所创建的项目分配相关的项目爬虫,并导入项目爬虫的任务源,以及对项目和项目爬虫进行管理;爬虫管理模块,基于用户的指令,将用户编辑好的爬虫程序通过上传爬虫入口添加到分布式爬虫管理系统中,基于项目信息中的爬虫策略对爬虫进行部署,并对爬虫的运行状况进行管理;数据管理模块,对项目爬虫爬取到的数据进行监控和统计管理,并将统计后的信息通过数据展示单元进行可视化展示;节点管理模块,基于数据管理模块统计的信息对爬虫所运行的节点进行管理,以确保每个爬虫运行在相对应的爬虫节点上,所述爬虫节点为从云平台上申请的虚拟机;日志管理模块,用于对用户的操作行为进行监控记录;代理管理模块,基于需要代理管理的用户的授权,对授权用户的爬虫任务进行代理管理。

【技术特征摘要】
1.一种分布式爬虫管理系统,其特征在于,包括:主页展示模块,包括登录单元和数据展示单元,所述登录单元为用户访问分布式爬虫管理系统提供接口,用户通过在所述登录单元中输入相应的身份验证信息来访问所述分布式爬虫管理系统,所述数据展示单元用于展示与爬虫相关的数据;项目管理模块,基于用户的指令创建项目,为所创建的项目分配相关的项目爬虫,并导入项目爬虫的任务源,以及对项目和项目爬虫进行管理;爬虫管理模块,基于用户的指令,将用户编辑好的爬虫程序通过上传爬虫入口添加到分布式爬虫管理系统中,基于项目信息中的爬虫策略对爬虫进行部署,并对爬虫的运行状况进行管理;数据管理模块,对项目爬虫爬取到的数据进行监控和统计管理,并将统计后的信息通过数据展示单元进行可视化展示;节点管理模块,基于数据管理模块统计的信息对爬虫所运行的节点进行管理,以确保每个爬虫运行在相对应的爬虫节点上,所述爬虫节点为从云平台上申请的虚拟机;日志管理模块,用于对用户的操作行为进行监控记录;代理管理模块,基于需要代理管理的用户的授权,对授权用户的爬虫任务进行代理管理。2.根据权利要求1所述的分布式爬虫管理系统,其特征在于,所述爬虫管理模块通过设置反爬虫机制来对爬虫进行部署和管理,其中,所述反爬虫机制包括:基于用户指令,向云平台申请多个IP地址,在爬虫执行爬虫任务的过程中如果被所访问的网站限制,则从申请的多个IP地址中选择一个IP地址来访问被限制访问的网站。3.根据权利要求2所述的分布式爬虫管理系统,其特征在于,当使用更换的IP地址访问被限制访问的网站后,增加当前延迟下载的时间或者减小网页下载并发数。4.根据权利要求1所述的分布式爬虫管理系统,其特征在于,所述节点管理模块包括动态调整爬虫节点数的爬虫节点调整单元和监控爬虫节点的爬虫节点监控单元;所述爬虫节点调整单元周期性检测是否需要增加爬虫节点或者减少爬虫节点,如果在预设的多个周期内,每个周期内检测的当前爬虫任务量都超过上限阈值,则增加爬虫节点;如果在预设的多个周期内,每个周期内检测的当前爬虫任务量都小于下限阈值,则减少爬虫节点;当前爬虫任务量基于下述公式来确定:其中,P为当前爬虫任务量,P=1表示当前爬虫节点数量不能满足爬虫任务需求,需要增加爬虫节点,P=-1表示爬虫系统所拥有的爬虫节点数量远远高于实际爬虫任务需求,需要减少爬虫节点,c表示当前爬虫任务数,ui表示第i个爬虫任务的待抓取URL数,n表示当前处于运行状态的爬虫节点数,Fmax表示上限阈值,Fmin表示下限阈值。5.根据权利要求4所述的分布式爬虫管理系统,其特征在于,所述爬虫节点监控单元周期性检测爬虫节点发送的心跳包,如果在连续的多个周期内,在预定的时间内都没有收到某个爬虫节点发送的心跳包,则判定该爬虫节点已宕机。6.根据权利要求4或5所述的分布式爬虫管理系统,其特征在于,所述预设的多个周期为5个周期。7.根据权利要求1所述的分布式爬虫管理系统,其特征在于,所述数据展示单元用于展示如下信息:项目总数、节点总数、爬虫程序总数、爬虫实例总数、爬取页面任务总量、完成页面爬虫数量、爬取数据总量、爬取数据节点利用率、爬虫节...

【专利技术属性】
技术研发人员:刘希陈进宝刘光辉
申请(专利权)人:国信优易数据有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1