一种基于Heritrix爬虫的分布式采集方法及系统技术方案

技术编号:14577350 阅读:77 留言:0更新日期:2017-02-07 19:47
本发明专利技术公开了一种基于Heritrix爬虫的分布式采集方法及系统,包括以下步骤:设置一个管理服务模块以及多个发布的Heritrix节点,管理服务模块监听到Heriteix节点信息后自动加入该节点并进行管理,初始种子以及节点任务,分配任务并生成配置文件;管理服务模块获取实际种子,Heritrix从实际种子的配置文件中获取实际种子,并从实际种子采集实际种子对应网页上生成的链接以及该链接对应的附加信息,Heritrix自动判别并抽取出满足条件的链接生成初始种子队列,Heritrix节点从初始种子获得实际种子信息,并解析其附加信息实施本发明专利技术的有益效果是,本申请有效实现了Heritrix的分布式采集,有效提高了系统工作系能。

【技术实现步骤摘要】

本专利技术属于计算机互联网方面,涉及互联网网页式爬虫采集及监控领域,尤其涉及一种基于Heritrix爬虫的分布式采集方法及系统
技术介绍
目前互联网搜索引擎存在广告、垃圾网站和死链接过多问题,如搜索网页链接打开后却标示着“该链接已被删除”的信息或“请尝试其他链接”等提示。其次,中文网站检索的更新频率慢,一般每隔两至四周才由“蜘蛛”程序重新爬取;其自身系统数据库庞大,也造成数据的更新速度无法大幅度提高,从而影响检索性能的时效性。另外,互联网搜索引擎不能根据用户个性化需求进行定制功能;比如:只检索某个网站前三层URL(互联网上标准资源的地址)中的新闻视频信息,视频数据不能包含电影、电视剧等。究其原因,是由于网络结构系统性能过低。目前各类开源网络爬虫大多都采用集中式网络结构设计:在一台服务器上给定初始URLURL集合,通过爬虫主体程序多个线程分别获取URLURL,将URL对应的html页面获取到本地进行分析,页面内容提取模块将提取可供检索的信息,URL提取模块提取新的指向其他页面的链接,经过一系统处理并保存供后续继续爬取。当系统数据规模到达一定程度(如网页数达到亿级别)时,这种架构模式的单机服务器硬件性能问题就突显出来了。为了缓解上述问题,互联网档案馆和北欧国家图书馆联合开发出了Heritrix。是一个由java开发的、开源的网络爬虫,用户可以使用它来从网上抓取想要的资源。Heritrix它的执行是递归进行的,主要包括以下几个步骤:(1)获取预设的一个URL;(2)获取该URL的采集地址集;(3)解析采集地址集,并进行归档;(4)从中选择出相关的URL,并加入预设URL队列。Heritrix由一些核心类与可插件模块构成,核心类可以配置,满足实际配置需求,插件模块可任由第三方模块取代,可以不断的被其感兴趣的第三方改进,已成为一个比较成熟的开源爬虫,并被广泛使用。在面向监管类系统中,一般的爬虫在设计上功能显得都比较臃肿。在监管系统中,爬取的范围是明确的,爬取的内容是明确的,爬取的频率基本是固定的。同样基于链的发现,而不需要遵循正常爬虫的协议,无需给出链的分值、无需建立内容索引,但需要对目标页面进行结构化抽取,并存入指定的数据库、索引库、分布式文件系统等持久化环境中。这种近乎镜像全站的爬取方法,Heritrix有着得天独厚的优越性条件,但Heritrix目前无法完好支持分布式采集与调度。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述Heritrix目前无法完好支持分布式采集与调度缺陷,本专利技术对插件模块进行了改进,提供一种基于Heritrix爬虫的分布式采集方法及其系统。根据本专利技术的第一方面,本专利技术提供了一种基于Heritrix爬虫的分布式采集方法,包括以下步骤:设置一个管理服务模块,并设置多个发布的Heritrix节点,所述管理服务模块为一个Heritrix节点管理的网页系统;通过UDP协议将所述的多个Heriteix节点广播到获取的初始种子所在的网段,管理服务模块监听到Heriteix节点信息后自动加入该节点并进行管理,管理服务模块获取初始种子以及节点任务,所述的种子为预置或者是来自于初始种子队列;管理服务模块获取节点任务,指定将任务建立到具体节点或者是全部节点上,管理服务模块通过调用Heritrix的应用程序编程接口API在发布的Heritrix节点上生成配置节点和任务信息的配置文件管理服务模块根据Heritrix节点任务生成并获取管理服务模块获取的初始种子对应网页上的实际种子;Heritrix节点从初始种子获得实际种子信息,并解析实际种子的附加信息;Heritrix从实际种子的配置文件中获取实际种子,并采集实际种子对应网页上生成的链接以及该链接对应的附加信息,Heritrix自动判别并抽取出满足条件的链接生成初始种子队列,所述附加信息包括采集层次、采集周期、节点分布、是否动态代理、子域名数量限定、正则配置。在本专利技术所述的方法中,采集实际种子对应网页上生成的链接以及该链接对应的附加信息步骤,包括:对实际种子是否使用动态代理进行判别后下载网页,若为动态代理,则从管理服务模块获取动态代理地址信息,并动态随机设定一个代理地址,将采集到的信息进行字段抽取,根据种子设定的正则信息进行抽取,所述正则信息包括作者、标题、内容、来源、发布时间。在本专利技术所述的方法中,还通过扩展Heritrix采集过程的生命周期监听,将监听到的状态进行判断,若采集结束,则自动重启任务,并且管理服务模块从Heritrix获取本轮采集状况,该任务重启后,管理服务模块将从初始种子队列获取下一轮初始种子进行采集,所述的采集情况包括:采集各种子的开始时间、结束时间、扫描网页数量、持久化数量、下载字节数。在本专利技术所述的方法中,还监控Heritrix的运行状态,并提供Heritrix运行状态信息。进一步的,在本专利技术所述的方法中,通过检查节点的心跳是否超时,若超时,在重置分配到该节点的种子,使其分配到正常工作的节点上。根据本专利技术的第二方面,本专利技术提供一种基于Heritrix爬虫的分布式采集系统,还包括管理服务模块以及节点广播模块,所述的结点广播模块用于将多个发布的Heritrix节点通过UDP协议将所述的多个Heriteix节点广播到获取的初始种子所在的网段,所述的管理服务模块为一个Heritrix节点管理的网页系统,包括:节点处理单元:用于获取初始种子,并在监听到结点广播模块广播的多个发布的Heriteix节点信息后自动加入该节点并进行管理;任务配置单元:用于获取节点任务并将任务指定到将任务建立到具体节点或者是全部节点上,通过调用Heritrix的应用程序编程接口API在发布的Heritrix节点上生成配置节点和任务信息的配置文件;生成获取单元:用于根据Heritrix节点任务对管理服务模块获取的初始种子对应网页上生成链接,并获取此链接,还用于控制Heritrix节点从初始种子获得实际种子信息,并解析实际种子的附加信息。在本专利技术所述的系统中,管理服务模块还包括动态代理单元,所述的动态代理单元随机生成动态代理地址,并提供给Heritrix,并对实际种子是否使用动态代理进行判别后下载网页,若是,则从管理服务模块获取动态代理地址信息,并动态随机设定一个代理地址,将采集到的信息进行字段抽取,根据种子设定的正则信息进行抽取,所述动态代理地址为管理服务模块随机生成,所述正则信息包括作者、标题、本文档来自技高网
...

【技术保护点】
一种基于Heritrix爬虫的分布式采集方法,其特征在于包括以下步骤:设置一个管理服务模块,并设置多个发布的Heritrix节点,所述管理服务模块为一个Heritrix节点管理的网页系统;通过UDP协议将所述的多个Heriteix节点广播到获取的初始种子所在的网段,管理服务模块监听到Heriteix节点信息后自动加入该节点并进行管理,管理服务模块获取初始种子以及节点任务,所述的种子为预置或者是来自于初始种子队列;管理服务模块获取节点任务,指定将任务建立到部分节点或者是全部节点上,管理服务模块通过调用Heritrix的应用程序编程接口API在发布的Heritrix节点上生成配置节点和任务信息的配置文件;管理服务模块根据Heritrix节点任务生成并获取管理服务模块获取的初始种子对应网页上的实际种子;Heritrix节点从初始种子获得实际种子信息,并解析实际种子的附加信息;Heritrix从配置文件中获取实际种子,并采集实际种子对应网页上生成的链接以及该链接对应的附加信息,Heritrix自动判别并抽取出满足条件的链接生成初始种子队列,所述附加信息包括采集层次、采集周期、节点分布、是否动态代理、子域名数量限定、正则信息。...

【技术特征摘要】
1.一种基于Heritrix爬虫的分布式采集方法,其特征在于包括以下步
骤:
设置一个管理服务模块,并设置多个发布的Heritrix节点,所述管理服
务模块为一个Heritrix节点管理的网页系统;
通过UDP协议将所述的多个Heriteix节点广播到获取的初始种子所在的
网段,管理服务模块监听到Heriteix节点信息后自动加入该节点并进行管理,
管理服务模块获取初始种子以及节点任务,所述的种子为预置或者是来自于初
始种子队列;
管理服务模块获取节点任务,指定将任务建立到部分节点或者是全部节点
上,管理服务模块通过调用Heritrix的应用程序编程接口API在发布的
Heritrix节点上生成配置节点和任务信息的配置文件;
管理服务模块根据Heritrix节点任务生成并获取管理服务模块获取的
初始种子对应网页上的实际种子;
Heritrix节点从初始种子获得实际种子信息,并解析实际种子的附加信
息;
Heritrix从配置文件中获取实际种子,并采集实际种子对应网页上生成
的链接以及该链接对应的附加信息,Heritrix自动判别并抽取出满足条件的
链接生成初始种子队列,所述附加信息包括采集层次、采集周期、节点分布、
是否动态代理、子域名数量限定、正则信息。
2.如权利要求1所述的采集方法,其特征在于,所述的从实际种子采集实
际种子对应网页上生成的链接以及该链接对应的附加信息,包括:对实际种子
是否使用动态代理进行判别后下载网页,若为动态代理,则从管理服务模块获
取动态代理地址信息,并动态随机设定一个代理地址,将采集到的信息进行字
段抽取,根据种子设定的正则信息进行抽取,所述正则信息包括作者、标题、
内容、来源、发布时间。
3.如权利要求1至2任意一项所述的采集方法,其特征在于还包括:扩展
Heritrix采集过程的生命周期监听,将监听到的状态进行判断,若采集结束,
则自动重启任务,并且管理服务模块从Heritrix获取本轮采集状况,该任务
重启后,管理服务模块将从初始种子队列获取下一轮初始种子进行采集,所述
的采集情况包括:采集各种子的开始时间、结束时间、扫描网页数量、持久化

\t数量、下载字节数。
4.如权利要求1至3任意一项所述的采集方法,其特征在于还包括:检查
节点的心跳是否超时,若超时,在重置分配到该节点的种子,使其分配到正常
工作的节点上。
5.如权利要求1至...

【专利技术属性】
技术研发人员:张东升王艳玲彭威李波景晓军沈智杰唐新民
申请(专利权)人:任子行网络技术股份有限公司
类型:发明
国别省市:广东;44

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

1