CN102646129B - 一种主题相关的分布式网络爬虫系统 - Google Patents
一种主题相关的分布式网络爬虫系统 Download PDFInfo
- Publication number
- CN102646129B CN102646129B CN2012100608056A CN201210060805A CN102646129B CN 102646129 B CN102646129 B CN 102646129B CN 2012100608056 A CN2012100608056 A CN 2012100608056A CN 201210060805 A CN201210060805 A CN 201210060805A CN 102646129 B CN102646129 B CN 102646129B
- Authority
- CN
- China
- Prior art keywords
- hyperlink
- webpage
- degree
- node
- queue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种主题相关的分布式网络爬虫系统,包括:主题链接存储器,用于存放系统未完成抓取的超链接;控制节点,用于从主题链接存储器中提取超链接,去除其中已经被系统抓取过的超链接,然后将未被系统抓取过的超链接分配给爬行节点,并控制是否终止系统运行;爬行节点,用于接收控制节点分配的超链接,然后下载超链接标识的网页,并且将网页存储在网页数据库中;网页数据库,用于存放爬行节点抓取的网页;网页分析器,用于定期从网页数据库中读取爬行节点下载的最新网页,对网页进行内容分析,计算网页及网页内所含超链接的主题相关度,然后根据主题相关度将相关的超链接存放到主题链接存储器中,将每个网页的主题相关度存于网页数据库中。
Description
技术领域
本发明涉及网络资源搜索技术,尤其涉及到一种主题相关的分布式网络爬虫系统。
背景技术
随着互联网上信息的海量增长,传统的搜索引擎面临着索引规模、实时更新速度和个性化等许多方面的挑战。因此,特定主题和个性化搜索的主题网络爬虫应运而生。当前,主题网络爬虫的研究已经成为Web信息挖掘的研究热点和难点。
传统网络爬虫的目标是尽可能地采集信息页面,它并不关心页面采集的顺序和采集的页面是否符合特定的主题。这样导致大量的系统资源和网络带宽浪费在抓取主题无关的网页上。主题网络爬虫则是尽可能快地采集用户感兴趣的网页。它可以对整个Web按主题分块采集,并将不同块的采集结果整合到一起,以提高整个Web的采集覆盖率和页面利用率。
同时,虽然主题网络爬虫能够提高系统资源和网络带宽利用率,但是随着网络规模和复杂程度的指数增长,依赖计算机单机处理能力的集中式网络爬虫无法满足快速获取大量资源的需求。分布式网络爬虫由可并行获取资源的多个节点组成,它能够克服单一网络爬虫物理性能的瓶颈影响,极大地提高整个爬虫系统的下载速度。分布式网络爬虫系统的爬行节点可以随时加入和退出,具有极好的鲁棒性和扩展性。
根据现有技术,主题相关的分布式网络爬虫系统相关定义如下:
定义1: 网络爬虫是一个自动获取网页的程序,它是搜索引擎从Web上下载网页的重要组成部分。传统网络爬虫是从一个或若干初始网页的超链接开始,获取初始网页上的超链接列表;在抓取网页的过程中,不断从当前页面上抽取新的超链接放入待爬行队列,直到满足系统的停止条件。
定义2: 主题网络爬虫就是根据一定的网页分析算法过滤与主题无关的超链接,保留主题相关的超链接并将其放入待抓取的超链接队列中;然后根据一定的搜索策略从队列中选择下一步要抓取的网页超链接,并重复上述过程,直到满足系统的停止条件。
定义3:分布式网络爬虫是一个系统,它包括多个子节点,每个子节点都承担一定的网页抓取任务;并且相互协作,共同完成总的抓取任务。
定义4:主题相关的分布式网络爬虫系统是指一种多个节点协同合作的分布式网络爬虫,它根据用户指定的主题,自动抓取主题相关的网页。
但是,具体如何实现主题相关的分布式网络爬虫系统,还有很多技术问题,比如各个节点如何协同,本领域尚未出现解决方案。
发明内容
本发明的目的在于提供一种主题相关的分布式网络爬虫系统,它能够使多个节点协同合作,共同完成网页抓取任务,提高下载性能,使得用户能够获取感兴趣的网页。
为了达到上述目的,本发明采用的技术方案为一种主题相关的分布式网络爬虫系统,包含一个控制节点,多个爬行节点,一个网页数据库,一个网页分析器,一个主题链接存储器;
所述主题链接存储器,用于存放系统未完成抓取的超链接;
所述控制节点,用于从主题链接存储器中提取超链接,去除其中已经被系统抓取过的超链接,然后将未被系统抓取过的超链接分配给爬行节点,并控制是否终止系统运行;
所述爬行节点,用于接收控制节点分配的超链接,然后下载超链接标识的网页,并且将网页存储在网页数据库中;
所述网页数据库,用于存放爬行节点抓取的网页,用于网页分析器作进一步的分析;
所述网页分析器,用于定期从网页数据库中读取爬行节点下载的最新网页,对网页进行内容分析,计算网页及网页内所含超链接的主题相关度,然后根据主题相关度将相关的超链接存放到主题链接存储器中,将每个网页的主题相关度存于网页数据库中。
而且,所述主题链接存储器中设有HighQueue队列和LowQueue队列两个子模块;HighQueue队列存储主题相关度大于预设阈值T的超链接,LowQueue队列存储主题相关度不大于预设阈值T的超链接;系统工作流程包括以下步骤,
步骤1,用户定义初始超链接集,定义主题相关的关键词以及主题相关度的阈值T;
步骤2,爬虫系统的控制节点从初始超链接集中提取超链接,然后将超链接分配给爬虫系统的各个爬行节点;
步骤3,爬行节点抓取超链接指定的网页并且将其存储在网页数据库中;
步骤4,网页分析器从网页数据库中读取网页,抽取网页上的超链接,并且根据主题相关的关键词进行主题相关度计算,将主题相关度大于阈值T的超链接存入主题链接存储器的HighQueue队列中,将主题相关度不大于阈值T的超链接存入主题链接存储器的LowQueue队列中;
步骤5,控制节点先从主题链接存储器的HighQueue队列提取超链接,若HighQueue队列为空就从LowQueue队列中提取超链接,并且在去重后将超链接分配给各个爬行节点;
步骤6,重复执行步骤3、4、5,在满足系统终止条件时终止重复执行。
而且,所述控制节点中设有已抓取超链接队列和任务分配器两个子模块;已抓取超链接队列存储有爬虫系统已经抓取过的所有超链接,任务分配器负责将待抓取的超链接分配给爬行节点;
控制节点每从主题链接存储器读取一个超链接,就在已抓取超链接队列中检查它是否已经存在,若存在,丢弃该超链接,否则保存该超链接到任务分配器和已抓取超链接队列中;
控制节点从主题链接存储器中读取超链接的规则是,先判断HighQueue队列是否为空,不是则按照最高相关度优先的方式依次从HighQueue队列中提取超链接;如果HighQueue队列为空,控制节点就按照先来先到的方式从LowQueue队列中提取超链接;
控制节点控制系统终止的条件是,已抓取网页数量超过了用户定义的上限,预先在步骤1中定义网页下载数量的上限;或者 HighQueue队列连续为空时间超过预设的时间阈值PD。
而且,所述爬行节点中设有任务申请器和网页下载器两个子模块;当爬行节点空闲时,任务申请器向控制节点申请一定数量的下载任务,控制节点将超链接分配给各个爬行节点时,按照该爬行节点申请的数量发送超链接;网页下载器用于下载控制节点发送过来的超链接标识的网页,并且将网页保存到网页数据库中。
而且,所述网页分析器包括内容抽取器和主题相关度计算器两个子模块;内容抽取器通过正则表达式提取网页的标题部分、内容描述部分、关键词描述部分、正文部分及超链接部分;主题相关度计算器根据内容抽取器的提取结果计算主题相关度,然后将主题相关度大于预设阈值T的超链接存放于主题链接存储器中的HighQueue队列中,将不大于预设阈值T的超链接存放于主题链接存储器的LowQueue队列中。
而且,主题相关度计算器根据内容抽取器的提取结果计算主题相关度,具体实现如下,
(1)根据网页A中关键词的位置与数量计算网页A的主题相关度,结果记为R(A1),步骤如下,
读取网页A的标题部分、内容描述部分、关键词描述部分和正文部分;
计算这4个部分各自的主题相关度,计算方法为,标题部分、内容描述部分或关键词描述部分只要含有关键词,相应的主题相关度等于1,否则为0;而正文部分的主题相关度用其包含的关键词数量的高斯函数模拟;
最后将这4个部分的主题相关度乘以各自的预设权重然后相加,得到网页A的主题相关度;
(2)根据网页A上指向已下载的主题相关度大于T的网页的超链接数量及这些网页的主题相关度计算网页A的主题相关度,结果记为R(A2);
(3)主题相关度计算器根据链向网页A的主题网页的数量和主题相关度计算网页A的主题相关度,结果记为R(A3);
(4)网页A的主题相关度R(A)取R(A1),R(A2),R(A3)中的最大值。
本发明设计的主题相关的分布式网络爬虫系统,设计了控制节点和主题链接存储器,配合网页数据库和网页分析器,能够利用网络中的多个爬行节点高效准确地自动抓取主题相关的网页。本发明还在主题链接存储器中设置了HighQueue队列与LowQueue队列,HighQueue队列存储主题相关度大于特定阈值T的超链接,LowQueue队列存储主题相关度不大于T的超链接。控制节点先从主题链接存储器的HighQueue队列提取超链接,若HighQueue队列为空就从LowQueue队列中提取超链接,并且在去重后将超链接分配给各个爬行节点,这样可以保证检索结果的高相关性。
附图说明
图1为本发明实施例的系统架构;
图2为本发明实施例的系统工作流程图;
图3 为本发明实施例的内容抽取器工作流程流程图;
具体实施方式
以下结合附图和实施例详细说明本发明技术方案。
如图1所示,本发明实施例所提供主题相关的分布式网络爬虫系统包括5个大的模块:控制节点,爬行节点,网页数据库,网页分析器,主题链接存储器。为了提供更有效率的工作,本发明进一步设计:其中控制节点包括已抓取超链接队列和任务分配器两个子模块,爬行节点包括任务申请器和网页下载器两个子模块,网页分析器包括内容抽取器和主题相关度计算器两个子模块,主题链接存储器包括HighQueue队列和LowQueue队列两个子模块。实施例的各部分详细实现说明如下:
主题链接存储器:用来存放系统未完成抓取的超链接。
实施例在主题链接存储器中设置了两个队列,HighQueue队列与LowQueue队列。HighQueue队列存储主题相关度大于特定阈值T的超链接,LowQueue队列存储主题相关度不大于T的超链接。预设阈值T由用户指定。
控制节点:控制节点从主题链接存储器中提取超链接,去除其中已经被系统抓取过的超链接,然后将未被系统抓取过的超链接分配给爬行节点。控制节点还负责控制是否终止系统运行。
实施例的控制节点包括两个部分:已抓取超链接队列和任务分配器。已抓取超链接队列存储有爬虫系统已经抓取过的所有超链接,负责将待抓取的超链接分配给爬行节点。控制节点每从主题链接存储器读取一个超链接,就会在已抓取超链接队列中检查它是否已经存在,若存在,丢弃该超链接,否则保存该超链接到任务分配器中。由于本发明提出,可以由爬行节点主动根据自身资源情况和任务完成情况,主动提出任务请求。可在爬行节点的任务申请器向控制节点申请一定数量的下载任务时,由任务分配器则负责接收爬行节点的任务请求,并且按照该爬行节点申请的数量发送超链接。同时为了便于统计已抓取链接的数量,任务分配器将这些超链接保存该链接到已抓取超链接队列。
控制节点从主题链接存储器中提取超链接的规则是:先按照最高相关度优先的方式依次从HighQueue队列中提取超链接,即每次提取出HighQueue队列中主题相关度最高的链接;如果HighQueue队列为空,控制节点就按照先来先到的方式从LowQueue队列中提取超链接。即提取顺序是按照超链接存储到LowQueue队列中的先后顺序提取。这样保证了爬虫系统优先抓取主题相关度较高的链接,同时在一定程度上避免了主题相关度较低的链接出现饥饿。
实施例中,控制节点中的已抓取超链接队列采用哈希链表结构,加快了查询速度。
爬行节点:爬行节点可有多个。爬行节点接收控制节点分配的超链接,然后下载其标识的网页,并且将网页存储在网页数据库中。
实施例的爬行节点包括两个部分:任务申请器和网页下载器。当爬行节点空闲时,任务申请器就会向控制节点申请一定数量的下载任务;控制节点将超链接分配给各个爬行节点时,可以按照该爬行节点申请的数量发送超链接。网页下载器用于下载控制节点发送过来的超链接标识的网页,并且将网页保存在网页数据库中。
爬行节点的网页下载器可采用多线程模式。多线程模式是指网页下载器能够并行下载多个超链接标识的网页,大大提高了下载速率。
网页数据库:存放爬行节点抓取的网页,用于网页分析器作进一步的分析。
网页分析器:网页分析器定期从网页数据库中读取爬行节点下载的最新网页,对网页进行内容分析,计算网页及其中所含超链接的主题相关度。然后将主题相关度大于阈值T的超链接存放于主题链接存储器中的HighQueue队列中,将不大于阈值T的超链接存放于主题链接存储器的LowQueue队列中。同时,也可将每个网页的主题相关度存于网页数据库中,以便后续使用。
实施例的网页分析器包括两个部分:内容抽取器和主题相关度计算器。内容抽取器通过正则表达式处理网页的标题、内容描述部分、关键词描述部分、网页标记部分、正文部分。如图3所示,先提取网页的标题部分、内容描述部分、关键词描述部分、超链接部分;然后去除CSS(级联样式表)、JavaScript(网页程式设计语言)、注释部分,取出网页的正文部分。正则表达式是指根据一定模式提取字符串特定位置的内容。标题是位于网页标签<title>、</title>之间的内容,内容描述部分是位于网页<meta>标签”name=description”之后的内容,关键词描述部分是位于网页<meta>标签”name=keywords”之后的内容,正文部分是网页<body></body>除去标记之间的内容,超链接是网页锚标签”a href=”之后的内容。这些是已有技术,这里不赘述。
具体实施时,爬行节点可以利用网络中的客户端,例如PC;控制节点、网页数据库、网页分析器和主题链接存储器可以利用服务器实现,例如Web服务器。爬行节点、控制节点、网页数据库、网页分析器和主题链接存储器之间的连接都是通过网络通信完成的。其中的子模块可以由本领域技术人员采用计算机软件模块化技术实现。爬行节点中的两个子模块任务申请器和网页下载器是运行在客户端上的两个子程序,二者之间的连接通过进程通信来实现;控制节点中的两个子模块已抓取超链接队列和任务分配器是运行在服务器上的两个子程序,二者之间的连接通过进程通信来实现;网页分析器中的两个子模块内容抽取器和主题相关度计算器也是运行在服务器上的两个子程序,二者之间的连接通过进程通信来实现;主题链接存储器的两个子模块HighQueue和lowqueue也是运行在服务器上的两个子程序,二者之间的连接通过进程通信来实现。具体实现属于现有软件技术,本发明不予赘述。
在实施例中,主题相关度的上限和下限分别设为1和0,超链接的主题相关度等于所属网页的主题相关度。为便于实施参考起见,本发明提出,可以采用三种方法之一计算网页主题相关度。
方法1:根据网页A中的关键词的位置和数量来计算网页A的主题相关度。
对于某个网页A,其主题相关度计算公式如下:
(1)
其中R(A1)是根据方法1得到的网页A的主题相关度。w标、w内、w关、w正是一组权值,表示网页标题部分,网页内容描述部分,网页关键词部分,网页正文部分各自含有关键词时,对网页总体主题相关度的影响因子。p标、p内、p关、p正表示网页标题部分,网页内容描述部分,网页关键词部分,网页正文部分各自的主题相关程度。由于网页标题,内容描述部分,关键词部分是网页内容的概要,它们中间是否包含用户定义关键词,对网页的主题相关度的影响较高。网页正文部分由于篇幅较长,其含有用户定义关键词对网页主题相关度的影响相对会较小,这样w标、w内、w关、w正就满足式(2)。同时,由于标题部分,内容描述部分,关键词部分篇幅非常小,通常只用一句话描述,所以只要其包含用户定义关键词,它的主题相关度相对较高,此时可直接将其p值定义为1。也就是说,标题部分、内容描述部分或关键词描述部分只要含有关键词,相应的主题相关度等于1,否则为0。正文部分虽然篇幅较长,其含有用户定义关键词对自身网页主题相关度的影响相对会较小,但是其主题相关度与用户定义关键词数量满足这一规律:正文部分含有的用户定义关键词越多,正文部分主题相关度就越高,最后无限趋近于1。本发明使用高斯函数模拟这一规律。这样,本发明得到了计算标题部分,内容描述部分,关键词部分,正文部分各自的主题相关度的公式,如(3),(4),(5),(6)。
(5)
其中:n标、n内、n关、n正分别为网页标题部分,网页内容描述部分,网页关键词部分,网页正文部分各自含有的用户定义关键词的数量。
方法2:根据网页A上指向已下载的主题相关度大于T的网页的超链接数量及这些网页的主题相关度计算网页A的主题相关度。
若网页A上总共有n个超链接,且包含m个超链接指向已下载的主题相关度大于T的网页,该m个网页的主题相关度分别为(a1, a2, a3, …, ai, …, am),ai为其中第i个网页的主题相关度。R(A2)为通过方法2计算得出的网页A的主题相关度。一般来说,若m/n越大,R(A2)越大,ai越大,R(A2)越大。这样方法2的主题相关度R(A2)计算方法为:
其中,d为阻尼系数,可由用户指定。R(A2)等于ai的总和除以网页A上的超链接总数然后乘以阻尼系数的积,同1和阻尼系数的差的和。
方法3:根据链向网页A的主题网页的数量和主题相关度计算网页A的主题相关度。
若总共有m个主题相关度大于T的网页链向网页A,该m个网页的主题相关度分别为(a1, a2, a3, …, ai, …, am),ai为第其中i个网页的主题相关度。R(A3)为通过方法3计算得出的网页A的主题相关度。本发明认为,该m个网页每个网页i对网页A的主题相关度的贡献为网页i的主题相关度ai除以网页i上面的所有超链接数量的商。该m个网页对网页A主题相关度的贡献总和越大,R(A3)越大,这样得到了R(A3)的计算公式:
其中d为阻尼系数,ci为网页i上的总链接数目。
最后,实施例中,网页A的主题相关度R(A)取R(A1),R(A2),R(A3)的最大值。
(9)
为便于实施参考起见,提供本发明实施例的系统工作流程:
步骤1:用户自定义初始的超链接URL集(即初始超链接集),以及感兴趣的关键词,主题相关度阈值T,以及网页下载数量上限。初始超链接集可以先放在主题链接存储器的HighQueue队列,以便控制节点首次读取分配。
步骤2:控制节点读取初始URL集,并且将URL集分配给爬行节点。此时可以等量地将任务分配给爬行节点。
步骤3:爬行节点收到控制节点分配的超链接后,抓取该URL标识的网页,并且将网页保存在网页数据库中。若某个爬行节点已经完成控制节点分配的任务,它可以主动向控制节点申请一定数量的下载任务。
步骤4:网页分析器定期从网页数据库中读取最新下载的网页,然后抽取网页文档的标题部分,内容描述部分,关键词描述部分,超链接部分,正文部分,抽取流程如图3所示。网页分析器首先提取网页的标题部分,标题部分位于网页标签<title>与</title>之间;然后提取网页的内容描述部分,内容描述部分位于网页标签<meta>中”name=description”之后;然后提取网页的关键词描述部分,关键词描述部分位于网页标签<meta>中”name=keywords”之后;然后提取网页的超链接部分,超链接部分位于网页的锚节点”a href=”之后;最后去除网页的CSS、JavaScript、注释部分,得到网页的正文。
网页分析器抽取完网页的超链接后,通过式(1)至式(9)计算该网页的主题相关度。本发明中,超链接的主题相关度等于所属网页的主题相关度。这样就得到了一个网页上所有超链接的主题相关度,网页分析器然后将主题相关度大于阈值T的超链接存于主题链接存储器中的HighQueue队列中,主题相关度不大于阈值T的超链接存于主题链接存储器的LowQueue队列中。
步骤5:控制节点从主题链接存储器中提取网页分析器找到的相关超链接,控制节点先从主题链接存储器的HighQueue队列提取超链接,若HighQueue队列为空就从LowQueue队列中提取超链接,并且在去重后将超链接分配给各个爬行节点。去重是指去除在已抓取超链接队列中存在的链接。
控制节点先按照最高相关度优先的方式依次从HighQueue队列中提取超链接,即每次提取出HighQueue队列中主题相关度最高的链接。如果HighQueue队列为空,控制节点就按照先来先到的方式从LowQueue队列中提取超链接。即提取顺序是按照超链接存储到LowQueue队列中的先后顺序提取。
若控制节点收到爬行节点的任务申请请求,此时可按照爬行节点的任务申请数量,从主题链接存储器中提取相同数量的超链接,并且对这些超链接去重。这样更能适应爬行节点的实际工作情况,优于等量分配。
步骤6:重复执行步骤3、4、5,在满足系统终止条件时终止重复执行。
实施例提出,控制节点控制系统终止的方式可以是满足以下两个条件任一:
当爬虫系统已抓取的网页数量超过了用户定义的上限,系统终止运行。预先在步骤1中定义网页下载数量的上限。
当HighQueue队列连续为空时间超过预设的时间阈值PD,系统终止运行。具体实施时,可以在HighQueue队列设置一个计时器。HighQueue队列不为空时,计时器处于休眠状态。当HighQueue队列从非空状态转向空状态时,计时器触发并且开始计时。直到下一个超链接存储到HighQueue队列中,计时器停止运行,转入休眠状态,并且将计时时间D(duration)清零。在计时过程中,若D超过了预定阈值PD(predefined duration),那么爬虫系统也停止运行。
在具体实现时,可以在步骤1由用户定义网页下载数量上限,将判断系统终止条件2设置在步骤3之前。参见图2,相应计算机流程如下:
步骤1,用户定义超链接URL集,定义主题相关的关键词、网页下载数量以及主题相关度的阈值T;
步骤2,爬虫系统的控制节点从超链接URL集中提取超链接,然后将超链接分配给爬虫系统的各个爬行节点;
步骤3,判断已下载URL是否达到用户定义的网页下载数量上限,是则结束流程,否则继续执行,由爬行节点抓取超链接指定的网页并且将其存储在网页数据库中,如图中爬行节点1、爬行节点2…爬行节点i…爬行节点n,n为爬行节点总数,i表示爬行节点的标号;
步骤4,网页分析器从网页数据库中读取网页,抽取网页上的超链接,并且根据主题相关的关键词进行主题相关度计算,将主题相关度大于阈值T的超链接存入主题链接存储器的HighQueue队列中,将主题相关度不大于阈值T的超链接存入主题链接存储器的LowQueue队列中;
步骤5,判断HighQueue队列是否为空,不为空则控制节点按照最高相关度优先的原则从主题链接存储器的HighQueue队列提取超链接,为空则控制节点先判断HighQueue队列连续为空时间超过时间阈值CT,是则终止流程,否则按照先来先到的原则从LowQueue队列中提取超链接,并且在去重后将超链接分配给各个爬行节点;
步骤6,返回步骤3,判断已下载URL是否达到用户定义的网页下载数量上限,否则重复执行步骤3、4、5,是则终止重复执行。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (4)
1.一种主题相关的分布式网络爬虫系统,其特征是:包含一个控制节点,多个爬行节点,一个网页数据库,一个网页分析器,一个主题链接存储器;
所述主题链接存储器,用于存放系统未完成抓取的超链接;
所述主题链接存储器中设有HighQueue队列和LowQueue队列两个子模块;HighQueue队列存储主题相关度大于预设阈值T的超链接,LowQueue队列存储主题相关度不大于预设阈值T的超链接;
所述控制节点,用于从主题链接存储器中提取超链接,去除其中已经被系统抓取过的超链接,然后将未被系统抓取过的超链接分配给爬行节点,并控制是否终止系统运行;
所述控制节点中设有已抓取超链接队列和任务分配器两个子模块;已抓取超链接队列存储有爬虫系统已经抓取过的所有超链接,任务分配器负责将待抓取的超链接分配给爬行节点;
控制节点每从主题链接存储器读取一个超链接,就在已抓取超链接队列中检查它是否已经存在,若存在,丢弃该超链接,否则保存该超链接到任务分配器和已抓取超链接队列中;
控制节点从主题链接存储器中读取超链接的规则是,先判断HighQueue队列是否为空,不是则按照最高相关度优先的方式依次从HighQueue队列中提取超链接;如果HighQueue队列为空,控制节点就按照先来先到的方式从LowQueue队列中提取超链接;
所述爬行节点,用于接收控制节点分配的超链接,然后下载超链接标识的网页,并且将网页存储在网页数据库中;
所述爬行节点中设有任务申请器和网页下载器两个子模块;当爬行节点空闲时,任务申请器向控制节点申请一定数量的下载任务,控制节点将超链接分配给各个爬行节点时,按照该爬行节点申请的数量发送超链接;网页下载器用于下载控制节点发送过来的超链接标识的网页,并且将网页保存到网页数据库中;
所述网页数据库,用于存放爬行节点抓取的网页,用于网页分析器作进一步的分析;
所述网页分析器,用于定期从网页数据库中读取爬行节点下载的最新网页,对网页进行内容分析,计算网页及网页内所含超链接的主题相关度,然后根据主题相关度将相关的超链接存放到主题链接存储器中,将每个网页的主题相关度存于网页数据库中。
2.如权利要求1所述主题相关的分布式网络爬虫系统,其特征是:系统工作流程包括以下步骤,
步骤1,用户定义初始超链接集,定义主题相关的关键词以及主题相关度的阈值T;
步骤2,爬虫系统的控制节点从初始超链接集中提取超链接,然后将超链接分配给爬虫系统的各个爬行节点;
步骤3,爬行节点抓取超链接指定的网页并且将其存储在网页数据库中;
步骤4,网页分析器从网页数据库中读取网页,抽取网页上的超链接,并且根据主题相关的关键词进行主题相关度计算,将主题相关度大于阈值T的超链接存入主题链接存储器的HighQueue队列中,将主题相关度不大于阈值T的超链接存入主题链接存储器的LowQueue队列中;
步骤5,控制节点先从主题链接存储器的HighQueue队列提取超链接,若HighQueue队列为空就从LowQueue队列中提取超链接,并且在去重后将超链接分配给各个爬行节点;
步骤6,重复执行步骤3、4、5,在满足系统终止条件时终止重复执行,控制节点控制系统终止的条件是,已抓取网页数量超过了用户定义的上限,预先在步骤1中定义网页下载数量的上限;或者HighQueue队列连续为空时间超过预设的时间阈值PD。
3.如权利要求1或2所述主题相关的分布式网络爬虫系统,其特征是:所述网页分析器包括内容抽取器和主题相关度计算器两个子模块;内容抽取器通过正则表达式提取网页的标题部分、内容描述部分、关键词描述部分、正文部分及超链接部分;主题相关度计算器根据内容抽取器的提取结果计算主题相关度,然后将主题相关度大于预设阈值T的超链接存放于主题链接存储器中的HighQueue队列中,将不大于预设阈值T的超链接存放于主题链接存储器的LowQueue队列中。
4.如权利要求3所述主题相关的分布式网络爬虫系统,其特征是:主题相关度计算器根据内容抽取器的提取结果计算主题相关度,具体实现如下,
(1)根据网页A中关键词的位置与数量计算网页A的主题相关度,结果记为R(A1),步骤如下,
读取网页A的标题部分、内容描述部分、关键词描述部分和正文部分;
计算这4个部分各自的主题相关度,计算方法为,标题部分、内容描述部分或关键词描述部分只要含有关键词,相应的主题相关度等于1,否则为0;而正文部分的主题相关度用其包含的关键词数量的高斯函数模拟;
最后将这4个部分的主题相关度乘以各自的预设权重然后相加,得到网页A的主题相关度;
(2)根据网页A上指向已下载的主题相关度大于T的网页的超链接数量及这些网页的主题相关度计算网页A的主题相关度,结果记为R(A2);
(3)主题相关度计算器根据链向网页A的主题网页的数量和主题相关度计算网页A的主题相关度,结果记为R(A3);
(4)网页A的主题相关度R(A)取R(A1),R(A2),R(A3)中的最大值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100608056A CN102646129B (zh) | 2012-03-09 | 2012-03-09 | 一种主题相关的分布式网络爬虫系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100608056A CN102646129B (zh) | 2012-03-09 | 2012-03-09 | 一种主题相关的分布式网络爬虫系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102646129A CN102646129A (zh) | 2012-08-22 |
CN102646129B true CN102646129B (zh) | 2013-12-04 |
Family
ID=46658948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100608056A Expired - Fee Related CN102646129B (zh) | 2012-03-09 | 2012-03-09 | 一种主题相关的分布式网络爬虫系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102646129B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035940B (zh) * | 2013-03-07 | 2018-07-06 | 腾讯科技(深圳)有限公司 | 网页链接的存储方法及服务器 |
CN103475687B (zh) * | 2013-05-24 | 2016-12-28 | 北京网秦天下科技有限公司 | 用于下载网站数据的分布式方法和系统 |
CN103310012B (zh) * | 2013-07-02 | 2016-09-28 | 北京航空航天大学 | 一种分布式网络爬虫系统 |
CN103761279B (zh) * | 2014-01-09 | 2017-02-08 | 北京京东尚科信息技术有限公司 | 一种基于关键词检索的网络爬虫调度方法及系统 |
CN103942335B (zh) * | 2014-05-07 | 2017-04-26 | 武汉大学 | 一种针对网页结构变化的不间断爬虫系统构建方法 |
CN104063448B (zh) * | 2014-06-18 | 2017-02-01 | 华东师范大学 | 一种视频领域相关的分布式微博数据抓取系统 |
CN105407116A (zh) * | 2014-09-10 | 2016-03-16 | 中国电信股份有限公司 | 实现个性化页面的方法、设备和系统 |
CN105515815B (zh) * | 2014-10-17 | 2018-11-06 | 任子行网络技术股份有限公司 | 一种基于Heritrix爬虫的分布式采集方法及系统 |
CN105843808A (zh) * | 2015-01-13 | 2016-08-10 | 丰小月 | 基于锚标签和时间标记的计算机会议实时信息抽取方法 |
CN106339378A (zh) * | 2015-07-07 | 2017-01-18 | 中国科学院信息工程研究所 | 基于关键词导向的主题网络爬虫的数据搜集方法 |
CN104965926B (zh) * | 2015-07-14 | 2019-03-26 | 安一恒通(北京)科技有限公司 | 网页提供方法及装置 |
CN104965933B (zh) * | 2015-07-30 | 2018-12-25 | 北京奇虎科技有限公司 | Url检测任务的分配方法、分配器及url检测系统 |
TW201717068A (zh) * | 2015-11-11 | 2017-05-16 | 財團法人資訊工業策進會 | 網頁內容萃取系統、網頁內容萃取方法及非暫態電腦可讀取記錄媒體 |
CN106776650A (zh) * | 2015-11-24 | 2017-05-31 | 北大方正集团有限公司 | 数据抓取方法和装置 |
CN106874284A (zh) * | 2015-12-11 | 2017-06-20 | 北京金山安全软件有限公司 | 信息抓取方法、装置、中央控制节点设备及分布式系统 |
CN105701167B (zh) * | 2015-12-31 | 2019-04-12 | 北京工业大学 | 基于煤矿安全事件主题相关性判别方法 |
CN106484828B (zh) * | 2016-09-29 | 2020-01-21 | 西南科技大学 | 一种分布式互联网数据快速采集系统及采集方法 |
CN106484886A (zh) * | 2016-10-17 | 2017-03-08 | 金蝶软件(中国)有限公司 | 一种数据采集的方法及其相关设备 |
CN107273499A (zh) * | 2017-06-16 | 2017-10-20 | 成都布林特信息技术有限公司 | 基于垂直搜索引擎的数据抓取方法 |
CN107633039A (zh) * | 2017-09-13 | 2018-01-26 | 张贝贝 | 一种按涉及股权转让主题的pdf文件切割方法 |
CN110020068B (zh) * | 2017-09-26 | 2021-10-15 | 北京国双科技有限公司 | 一种页面爬取规则的配置方法及装置 |
CN110968770B (zh) * | 2018-09-29 | 2023-09-05 | 北京国双科技有限公司 | 一种终止爬虫工具爬取的方法及装置 |
CN110472125B (zh) * | 2019-08-23 | 2022-04-01 | 厦门商集网络科技有限责任公司 | 一种基于网络爬虫的多级页面的级联爬取方法和设备 |
CN112597369A (zh) * | 2020-12-22 | 2021-04-02 | 荆门汇易佳信息科技有限公司 | 基于改良云平台的网页蜘蛛主题式搜索系统 |
CN113449168B (zh) * | 2021-07-14 | 2024-02-20 | 北京锐安科技有限公司 | 主题网页数据抓取方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231661A (zh) * | 2008-02-19 | 2008-07-30 | 上海估家网络科技有限公司 | 对象级知识挖掘的方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070162448A1 (en) * | 2006-01-10 | 2007-07-12 | Ashish Jain | Adaptive hierarchy structure ranking algorithm |
-
2012
- 2012-03-09 CN CN2012100608056A patent/CN102646129B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231661A (zh) * | 2008-02-19 | 2008-07-30 | 上海估家网络科技有限公司 | 对象级知识挖掘的方法和系统 |
Non-Patent Citations (4)
Title |
---|
分布式主题爬虫的设计与实现;池勇敏等;《计算机应用与软件》;20101231;第27卷(第12期);第135-138页 * |
分布式网络爬虫的设计与实现;吴黎兵等;《计算机应用与软件》;20111130;第28卷(第11期);第176-179,213页 * |
吴黎兵等.分布式网络爬虫的设计与实现.《计算机应用与软件》.2011,第28卷(第11期),第176-179,213页. |
池勇敏等.分布式主题爬虫的设计与实现.《计算机应用与软件》.2010,第27卷(第12期),第135-138页. |
Also Published As
Publication number | Publication date |
---|---|
CN102646129A (zh) | 2012-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102646129B (zh) | 一种主题相关的分布式网络爬虫系统 | |
Mahto et al. | A dive into Web Scraper world | |
CN109033115B (zh) | 一种动态网页爬虫系统 | |
Kausar et al. | Web crawler: a review | |
CN104951539B (zh) | 互联网数据中心有害信息监测系统 | |
CN105243159A (zh) | 一种基于可视化脚本编辑器的分布式网络爬虫系统 | |
CN102314463A (zh) | 分布式爬虫系统及其提取网页数据的方法 | |
CN104077402B (zh) | 数据处理方法和数据处理系统 | |
CN104899323B (zh) | 一种用于idc有害信息监测平台的爬虫系统 | |
CN101826110B (zh) | 一种BitTorrent种子文件爬取方法 | |
CN104090976A (zh) | 搜索引擎爬虫抓取网页的方法及装置 | |
CN104516982A (zh) | 一种基于Nutch的Web信息提取方法和系统 | |
CN107145556B (zh) | 通用的分布式采集系统 | |
CN103714140A (zh) | 一种基于主题网络爬虫的搜索方法及装置 | |
CN104598536B (zh) | 一种分布式网络信息结构化处理方法 | |
CN106033428B (zh) | 统一资源定位符的选择方法和统一资源定位符的选择装置 | |
CN102103636A (zh) | 一种面向深层网页的增量信息获取方法 | |
CN104199893B (zh) | 一种快速将全媒体内容发布的系统和方法 | |
CN101615197B (zh) | 一种基于网络连接速度的个性化网络资源推荐方法 | |
CN103226568A (zh) | 一种用于爬取页面的方法和设备 | |
CN104361067B (zh) | 一种浏览器网页信息的智能加载方法及系统 | |
CN110020046A (zh) | 一种数据抓取方法及装置 | |
CN104699757A (zh) | 云环境下分布式网络信息采集方法 | |
CN103902667A (zh) | 一种基于元搜索的网络信息采集器简单实现方法 | |
CN104820680A (zh) | 一种通用型分布式爬虫调度系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131204 Termination date: 20150309 |
|
EXPY | Termination of patent right or utility model |