一种基于互联网定向站点网页数据采集的方法及装置的制作方法

文档序号:6583416阅读:151来源:国知局
专利名称:一种基于互联网定向站点网页数据采集的方法及装置的制作方法
技术领域
本发明属于计算机互联网技术领域,特别涉及一种基于互联网定向站点网页数据 采集的方法及装置。
背景技术
互联网一直处于高速发展状态,信息数量高速膨胀。更多的公众通过互联网查询 相关信息。虽然使用公共的搜索引擎可以搜索各种信息,但这些搜索引擎的结果存在着不 少的缺陷实时性不够,不能直接看到详细的正文信息等等。由此诞生了很多网络采集系 统。这些采集系统一般都是配置要采集的站点,设置起始的URL,采集系统就自动地按照网 站结构的层次来设置URL的优先级,并按照这个级别进行网页的抓取。这种机制基本保证 了数据的“采全性”,但却不能满足用户的“时效性”。比如一篇新闻被分为10个页面分别 显示,在采集到第一个页数据后,同时取到了其他分页的URL,这些页面被称之为与之前采 集的页面内容关联的页面,无论这片新闻第一页URL的优先级是高是低,在采集完第一页 数据后,剩余的页面都应该尽快地采集下来,从而保证让用户最快的看到完成的新闻信息。从以上问题可以看出现有技术中采集系统无法保证对采集站点及时、有效的进行 数据采集。

发明内容
为了解决现有技术文件采集系统无法保证对采集站点及时、有效的进行数据采集 的问题,本发明实施例提供了一种基于互联网定向站点网页数据采集的方法,包括根据待采集网页的统一资源定位器URL的优先级值,将待采集网页的URL加入到 具有对应优先级的待访问URL队列中;根据各URL队列中的URL数量、URL队列优先级值和权值因子确定各URL队列权 值,权值因子为用于刷新和获取内容页链接的列表页刷新后,列表页中新的URL链接数量;对权值最高的待访问URL队列中的URL进行访问,并根据访问的URL采集网页数 据同时本发明实施例还提供一种基于互联网定向站点网页数据采集的装置,包括队列生成模块用于根据待采集网页的统一资源定位器URL的优先级值,将待采 集网页的URL加入到具有对应优先级的待访问URL队列中;权值确定模块用于根据各URL队列中的URL数量、URL队列优先级值和权值因子 确定各URL队列权值,权值因子为用于刷新和获取内容页链接的列表页刷新后,列表页中 新的URL链接数量;获取模块用于对权值最高的待访问URL队列中的URL进行访问,并根据访问的 URL采集网页数据。由本发明提供的具体实施方案可以看出,正是由于计算得到URL队列权值,进而 从权值最高的URL队列中获取URL,进而实现及时、有效的进行数据采集。


图1为本发明提供的第一实施例方法流程图;图2为本发明提供的第二实施例系统结构图。
具体实施例方式为了解决现有技术中采集系统无法保证对采集站点及时、有效的进行数据采集的 问题,本发明实施例提供了一种基于互联网定向站点网页数据采集的方法,尤其是针对URL 的优先级和采集队列(即采集系统的待访问队列)的优先级管理,具体包括配置采集任 务,其中包括起始URL和采集的深度。根据指定的起始URL采集网页数据,按照URL分类机 制对分析出的新的URL(即待采集URL)设定不同的优先级,并插入相应的优先级队列本实 施例中的待采集URL是指待采集下来加入到待访问URL队列中的URL,。当网页下载模块向URL管理模块请求访问一个可用URL时,URL管理模块根据不 同优先级URL队列的长度、优先级级别和权值因子计算各URL队列的权值,优先从权值最大 的URL队列中取URL访问。进一步同时兼顾礼貌访问问题,避免对某些站点访问数过大而 被拒绝。使用该方法既能够保证任务刷新的及时性以及内容关联的网页采集的时效性,也 能够避免低优先级的URL被“饿死”,同时兼顾站点访问友好性,实现高效稳定的数据采集。本发明提供的第一实施例是一种基于互联网定向站点网页数据采集的方法,为了 实现本实施例中的方法,采用URL分类机制,具体定义列表页链接URLB。arf,不保存网页数据,只用于刷新和获取内容页链接的链接,如 一个网站的首页(不保存网页数据)的URL就是一个列表页链接;内容页链接URLc。ntent,保存有网页数据的链接,如新闻正文、帖子、博客的日志 等,进行保存,如一个博客日志的URL就是内容页链接;翻页链接URLPageup,包括 URLB。ard 类 URL
Pageup
和 URLconlent 类 URLpageup ; URLeoard 类 URLpageup 指翻页链接 URLpagwp 为列表页链接 URLB。a,d,URLcontent 类 URLpageup 指翻页链接 URLpagwp 为内容页链接URLfontent,如一个搜索引擎搜索完毕后的搜索结果展示网页中用于进入多个 其它搜索结果展示页面的URL即为URL。 类URLpageup,或一篇新闻网页中用于进入多个新 闻内容关联的页面的URL即为URLB。a,d类URLPageup。内容分析返回的链接URLKrtum,指将内容页链接的内容页面分析后获取的内容关 联的页面链接,包括URLC 类URLpageup和URLQthCT(如图片链接、附件链接等);其他的链接=URLmict,包括图片链接、附件链接等;优先级的自动设定,本实施例中采集系统中的最高优先级值nValPrimax = TASK_ PRIORIGY_VALUE ;已采集下来的URL的优先级值nValPri。urPage,其取值范围为[1,TASK_PRI0RITY_ VALUE];本实施例中,首先配置要采集的的站点,设置起始URL,根据配置的采集任务中预 先设定的采集所需的各起始URL的优先级值,将各起始URL作为待采集URL加入到对应优 先级的待访问URL队列中,例如配置任务中设定有2起始URL分别为URLl和URL2,URL1的优先级值为5,URL2的优先级值为3,将URLl加入到优先级值为5的待访问URL队列中,将 URL2加入到优先级值为3的待访问URL队列中,这样在后续步骤中,采集系统通过对优先级 值为3和优先级值为5的待访问URL队列进行访问,就可以采集到URLl和URL2。基于此, 其它待采集URL (非起始URL)通过已访问的URL直接得到,待采集URL的优先级定义如下对于通过已访问的URL直接得到的待采集URL中,类别为URLKeturn的URL,其优先 级值 nValPriKeturnUri = nValPrimax ;对于通过已访问的URL直接得到的待采集URL中,类别为URLB。arf类URLpageup类别 的 URL,其优先级值 nValPriPageuptel = nVaIPricurpage ;除了 URLKeturn和URLB。arf类URLpageup之外的其他通过已访问的URL直接得到的待采 集 URL,其优先级值 IiValPriurl = nValPri。urPage-l。随着采集系统的长期运行,系统存储的已访问的历史记录也会越来越多。以一个 采集系统一天刷新采集的页面为40万为例,设定一个URL的平均长度为200个字节计算, 一天记录的历史URL信息就是约76MB,一周的访问历史为约532MB,URL消重将成为采集系 统性能的一大障碍。进一步,为了避免重复采集,在执行本实施例的方法前,需进行URL快速消重,待 采集URL加入待访问队列前,根据MD5算法计算待采集URL的MD5散列值,与待访问队列已 访问的URL、正在访问的URL和未访问的URL的MD5散列值进行比较,如果是新闻或博客站 点的URL,同时在系统记录的所有URL的MD5信息中未找到,则将其插入对应优先级的带采 集URL队列中;如果是论坛帖子的URL,则需要进一步判断该帖子的回复数是否有更新,若 已更新则插入待采集URL队列,若均不相同则加入对应优先级的URL队列中。否则抛弃,待 访问队列指与待采集URL具有对应优先级的URL队列。具体过程为,对待加入到待访问URL队列的待采集URL进行解析,拼成一个绝对路
径的 URLAbs。lute,计算 URLAbs。lute 的 MD5 值 URLm5。其中计算URLAbs。lute的MD5值URLm5如下,补充URLAbs。lute的长度为512位的整数倍, 补充后的URL信息为StrTempurl,对StrTempuri按照512位进行分组,分组数目为nNumGroup ;引入MD5算法四个32位链接变量(chaining variable),分别为A = 0x01234567,B = 0x89abcdef,C = 0xfedcba98, D = 0x76543210 ;将 A、B、C、D 分别赋值给 a, b, c, d进入算法的四轮循环运算,循环的次数nNumCycle = nNumGroup。FF(a, b,C,d,x
FF (d,a,b,C,x[l,S12,0xe8c7b756)
FF (c,d,a,b,χ [2,S13,0x242070db)/*3*/
FF (b,C,d,a,χ [3,S14,Oxclbdceee)
FF (a,b,C,d,χ [4,Sll,0xf57c0faf)
FF (d,a,b,C,χ [5,S12,0x4787c62a)/*6*/
FF (c,d,a,b,χ [6,S13,0xa8304613)/*7*/
FF (b,C,d,a,x [7,S14,0xfd469501)/*8*/
FF (a,b,C,d,χ [8,Sll,0x698098d8)/*9*/
FF (d,a,b,C,χ [9,S12,0x8b44f7af)/*10*
FFC,d,a,b,x[10],S13,0xffff5bbl)/*11*/
FFb,C,d,a,x[ll],S14,0x895cd7be)/*12*/
FFa,b,C,d,x[12],Sll,0x6b901122)/氺13氺/
FFd,a,b,C,x[13],S12,0xfd987193)/*14*/
FFC,d,a,b,x[14],S13,0xa679438e)/*15*/
FFb,C,d,a,x[15],S14,0x49b40821)/*16*/
/*Round 2*/
GGa,b,C,d,x[l],S21,0xf61e2562) ;//氺17氺/
GGd,a,b,C,x [6],S22,0xc040b340) ;/418*/
GGC,d,a,b,x[ll],S23,0x265e5a51)/*19*/
GGb,C,d,a,x
,S24,0xe9b6c7aa) ;/420*/
GGa,b,C,d,x [5],S21,0xd62fl05d) ;/ζ氺21氺/
GGd,a,b,C,x[10],S22,0x2441453) ;/ζ氺22氺/
GGC,d,a,b,x[15],S23,0xd8ale681)
GGb,C,d,a,x [4],S24,0xe7d3fbc8) ;/ζ氺24氺/
GGa,b,C,d,x [9],S21,0x21elcde6) ;/
GGd,a,b,C,x[14],S22,0xc33707d6)
GGC,d,a,b,x [3],S23,0xf4d50d87) ;/ζ氺27氺/
GGb,C,d,a,x [8],S24,0x455al4ed) ;/
GGa,b,C,d,x[13],S21,0xa9e3e905)
GGd,a,b,C,x [2],S22,0xfcefa3f8) ;/430*/
GGC,d,a,b,x [7],S23,0x676f02d9) ;/ 31*/
GGb,C,d,a,x[12],S24,0x8d2a4c8a)
/*Round 3*/
HHa,b,C,d,x [5],S31,0xfffa3942) ;/ζ氺33氺/
HHd,a,b,C,x [8],S32,0x8771f681) ;/
HHC,d,a,b,x[ll],S33,0x6d9d6122)
HHb,C,d,a,x[14],S34,0xfde5380c)
HHa,b,C,d,x[l],S31,0xa4beea44) ;/ζ氺37氺/
HHd,a,b,C,x [4],S32,0x4bdecfa9) ;/
HHC,d,a,b,x [7],S33,0xf6bb4b60) ;/>39*/
HHb,C,d,a,x[10],S34,0xbebfbc70)/*40*/
HHa,b,C,d,x[13],S31,0x289b7ec6)/*41*/
HHd,a,b,C,x
,S32,0xeaal27fa) ;/ζ氺42氺/
HHC,d,a,b,x [3],S33,0xd4ef3085) ;/
HHb,C,d,a,x [6],S34,0x4881d05) ;/*44*/
HHa,b,C,d,x [9],S31,0xd9d4d039) ;/ζ氺45氺/
HHd,a,b,C,x[12],S32,0xe6db99e5)/*46*/
HHC,d,a,b,x[15],S33,0xlfa27cf8)/*47*/
HH(b, c, d, a, χ[2], S34,0xc4ac5665) ;/*48*//*Round 4*/II(a,b, c, d, x
, S41,0xf4292244) ;/*49*/II (d, a, b, c, χ[7], S42,0x432aff97) ;/*50*/II (c, d, a, b, χ[14], S43,0xab9423a7) ;/*51*/II(b, c, d, a, χ[5], S44,0xfc93a039) ;/氺52氺/II(a,b, c, d, x[12], S41,0x655b59c3) ;/*53*/II (d, a, b, c, x[3], S42,0x8f0ccc92) ;/氺54氺/II(c, d, a, b, χ[10], S43,Oxffeff47d) ;/*55*/II(b, c, d, a, x[l], S44,0x85845ddl) ;/*56*/II (a, b, c, d, x[8], S41,0x6fa87e4f) ;/*57*/II (d, a, b, c, x[15], S42,0xfe2ce6e0) ;/*58*/II (c, d, a, b, x[6], S43,0xa3014314) ;/*59*/II(b,c, d, a, x[13], S44,0x4e0811al) ;/*60*/II(a, b, c, d, x[4], S41,0xf7537e82) ;/*61*/II (d, a, b, c, x[ll], S42,0xbd3af235) ;/*62*/II (c, d, a, b, χ[2], S43,0x2ad7d2bb) ;/*63*/II(b, c, d, a, x[9], S44,0xeb86d391) ;/*64*/上述计算最终输出4个32位分组,对其进行级联后生成了一个128位的散列值, 即为16个字节的URLm5。系统使用URLtffi5进行消重验证,URLm5表示URL的MD5散列值采集系统的待访问URL队列中包括全部待访问URL的数组为 ArrayQueueunvisited [TASK_PRIORITY_VALUE],其对应的 MD5 信息结构表示为 MapUrlMd5mvisited ;正在访问的URL对应的MD5信息结构表示为MapUrlMd5visitmg ;已访问URL的MD5信息结构表示为MapUrlMd5visited。使用URLffil5 依次在 MapUrlMd5visited、MapUrlMd5visitmg 和 MapUrlMd5mvisited 进行查找, 若找到则直接抛弃该URL,若未找到则作为一个新URL插入待访问队列。本发明提供的第一实施例是一种基于互联网定向站点网页数据采集的方法,方法 流程如图1所示,包括步骤101 计算各个待访问 URL 队列 ArrayQueueunvisited[i-Ι],i e [1,TAKS_ PRIORITY_VALUE]的权值 dValPr、。步骤102 对 ClValPrii 从高到低进行排序 Sort(ClValPrii)。步骤103 从ClValPrii最大的队列中按FIFO的原则确定当前待访问URL。步骤104 判断当前待访问URL所属站点的是否符合预定访问策略。如果符合,则 当前待访问URL即可进行访问;如果不符合,则继续从该队列中取后续的URL依次进行判 断;如果该队列都没有合适的URL,则从(^斤!^次大的队列中取URL进行访问,依次类推, 直到获得合适的URL进行访问为止,并根据访问的URL采集网页数据。其中步骤101中,根据各URL队列中的URL数量、URL队列优先级值和权 值因子确定各URL队列权值ClValPrii,权值ClValPrii计算具体为,double ClValPrii=QueLeni/pow(iFactor, TASK_PRIORITY_VALUE-Vali),其中 Vali 表示 URL 队列 ArrayQueueunvisited[i-Ι]优先级的值,URL 队列 ArrayQueueunvisited[i_l]存储的是所有优先 级为Vali的URL的信息,QueLeni表示URL队列ArrayQueueunvisited[i_l]的长度即URL队 列ArrayQueueunvisited[i-Ι]中的URL数量,iFactor表示权值因子,权值因子为互联网网络 页面刷新后,平均一个列表页的新页面增加的数量,如一个列表页的新页面增加为2。故 iFactor初始值为2。进一步,还可以根据各URL队列中的URL数量、URL队列优先级值、采 集该URL队列中URL的线程数量和权值因子确定各URL队列权值ClValPrii。其中步骤104中,由于网络采集系统遇到的另外一个问题就是拒绝访问的问题, 为了尽可能快的抓取数据,采集系统往往最大可能的向站点请求数据,从而造成不友好的 访问,或被认作攻击行为,最终不能再进行采集。因此为了避免造成不友好的访问,在本步 骤中进一步需要判断当前待获取URL所属站点的礼貌访问。通过上述的方案,本实施例通过对URL进行分类,按照类别设定优先级,保证了内 容相关联的页面能够快速采集完整,解决了要等一段时间延迟才能得到完整的内容信息的 问题,进一步,本实施例通过计算队列权值并结合礼貌访问机制的方式,保证了对站点的友 好访问以及照顾到低优先级的URL也能获取系统资源进行采集。本发明提供的第二实施例是一种基于互联网定向站点网页数据采集的装置,其结 构如图2所示,包括队列生成模块201 用于根据待采集网页的统一资源定位器URL的优先级值,将待 采集网页的URL加入到具有对应优先级的待访问URL队列中;权值确定模块202 用于根据各URL队列中的URL数量、URL队列优先级值和权值 因子确定各URL队列权值,权值因子为用于刷新和获取内容页链接的列表页刷新后,列表 页中新的URL链接数量;获取模块203 用于对权值最高的待访问URL队列中的URL进行访问,并根据访问 的URL采集网页数据。进一步,权值确定模块202 还用于根据各URL队列中的URL数量、URL队列优先级 值、权值因子和访问该URL队列中URL的线程数量确定各URL队列权值。进一步,权值确定模块202 还用于根据如下公式计算URL队列权值ClValPrii double (IValPrii = QueLeni/RowQFactorJASI^PRIORITYJALUE-Vali),其中为, QueLeni表示URL队列中的URL数量,Vali表示URL队列的优先级值,iFactor表示权值因 子,TASK_PRI0RITY_VALUE表示最高优先级值。进一步,队列生成模块201 还用于根据MD5算法计算待采集URL的MD5散列值,与 各待访问URL队列已访问的URL、正在访问的URL和未访问的URL的MD5散列值进行比较, 若均不相同,或者相同且待采集URL对应网页中包括的针对该网页内容的回复数信息有更 新,则加入对应优先级的URL队列中,否则抛弃。进一步,获取模块203 还用于从权值最高的URL队列中按FIFO的原则访问URL, 如果访问的URL所属站点符合预定访问策略,则对该URL进行访问,否则,则继续从该URL 所属的队列中选取后续的URL依次进行判断,如果该队列都没有合适的URL,则按优先级由 高到低依次访问其它URL队列中的URL。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种基于互联网定向站点网页数据采集的方法,其特征在于,包括根据待采集网页的统一资源定位器URL的优先级值,将待采集网页的URL加入到具有 对应优先级的待访问URL队列中;根据各URL队列中的URL数量、URL队列优先级值和权值因子确定各URL队列权值,权 值因子为用于刷新和获取内容页链接的列表页刷新后,列表页中新的URL链接数量;对权值最高的待访问URL队列中的URL进行访问,并根据访问的URL采集网页数据。
2.如权利要求1所述的方法,其特征在于,根据各URL队列中的URL数量、URL队列优 先级值、权值因子和访问该URL队列中URL的线程数量确定各URL队列权值。
3.如权利要求1所述的方法,其特征在于,确定各URL队列权值具体为根据如下公式计算URL队列权值dValft^ double dValPrij = QueLeniZpow(iFactor, TASK_PRIORITY_VALUE-Vali),其中为, QueLeni表示URL队列中的URL数量,Vali表示URL队列的优先级值,iFactor表示权值因 子,TASK_PRIORITY_VALUE表示最高优先级值。
4.如权利要求1所述的方法,其特征在于,根据待采集URL的优先级,将待采集URL加 入到具有对应优先级的待访问URL队列中具体为根据MD5算法计算待采集URL的MD5散 列值,与各待访问URL队列已访问的URL、正在访问的URL和未访问的URL的MD5散列值进 行比较,若均不相同,或者相同且待采集URL对应网页中包括的针对该网页内容的回复数 信息有更新,则加入对应优先级的URL队列中,否则抛弃。
5.如权利要求1所述的方法,其特征在于,从权值最高的待访问URL队列中获取URL具 体为从权值最高的URL队列中按FIFO的原则访问URL,如果访问的URL所属站点符合预 定访问策略,则对该URL进行访问,否则,则继续从该URL所属的队列中选取后续的URL依 次进行判断,如果该队列都没有合适的URL,则按优先级由高到低依次访问其它URL队列中 的 URL。
6.如权利要求1所述的方法,其特征在于,待采集URL的优先级值的定义如下若待采集URL为采集所需的起始URL,则从配置的采集任务中获取各起始URL优先级值;若待采集URL为非起始URL,对于通过已访问的URL直接得到的待采集URL,类别为内 容分析返回的链接的URL,其优先级值最大,内容分析返回的链接指将内容页链接的内容页 面分析后获取的内容关联的页面链接;若待采集URL为非起始URL,对于通过已访问的URL直接得到的待采集URL,类别为列 表页链接类翻页链接的URL,其优先级值IiValI^ipageupllri = ηVaIPricurpage, ηVaIPricurpage表示 已采集下来的URL优先级值,列表页链接指不保存网页数据,只用于刷新和获取内容页链 接的链接;若待采集URL为非起始URL,对于除类别为内容分析返回的链接的URL和类别为列表页 链接类翻页链接的URL之外的,其他通过已访问的URL直接得到的待采集URL,其优先级值 IiValPriurl = nValPricurPage_l。
7.一种基于互联网定向站点网页数据采集的装置,其特征在于,包括队列生成模块用于根据待采集网页的统一资源定位器URL的优先级值,将待采集网 页的URL加入到具有对应优先级的待访问URL队列中;权值确定模块用于根据各URL队列中的URL数量、URL队列优先级值和权值因子确定 各URL队列权值,权值因子为用于刷新和获取内容页链接的列表页刷新后,列表页中新的 URL链接数量;获取模块用于对权值最高的待访问URL队列中的URL进行访问,并根据访问的URL采 集网页数据。
8.如权利要求7所述的装置,其特征在于,权值确定模块还用于根据各URL队列中的 URL数量、URL队列优先级值、权值因子和访问该URL队列中URL的线程数量确定各URL队 列权值。
9.如权利要求7所述的装置,其特征在于,权值确定模块还用于根据如下公式计算 URL 队列权值 dVall^rii double dVal Prii = QueLeniZpow(iFactor, TASK_PRIORITY_VALUE-Vali),其中为, QueLeni表示URL队列中的URL数量,Vali表示URL队列的优先级值,iFactor表示权值因 子,TASK_PRIORITY_VALUE表示最高优先级值。
10.如权利要求7所述的装置,其特征在于,队列生成模块还用于根据MD5算法计算 待采集URL的MD5散列值,与各待访问URL队列已访问的URL、正在访问的URL和未访问的 URL的MD5散列值进行比较,若均不相同,或者相同且待采集URL对应网页中包括的针对该 网页内容的回复数信息有更新,则加入对应优先级的URL队列中,否则抛弃。
11.如权利要求7所述的装置,其特征在于,获取模块还用于从权值最高的URL队列 中按FIFO的原则访问URL,如果访问的URL所属站点符合预定访问策略,则对该URL进行访 问,否则,则继续从该URL所属的队列中选取后续的URL依次进行判断,如果该队列都没有 合适的URL,则按优先级由高到低依次访问其它URL队列中的URL。
全文摘要
为了解决现有技术文件采集系统无法保证对采集站点及时、有效的进行数据采集的问题,本发明公开了一种基于互联网定向站点网页数据采集的方法及装置,该方法包括根据待采集URL的优先级值,将待采集URL加入到具有对应优先级的URL队列中,根据各URL队列中的URL数量、URL队列优先级值和权值因子确定各URL队列权值,权值因子为用于刷新和获取内容页链接的列表页刷新后,列表页中新的URL链接数量,从权值最高的URL队列中获取URL,计算得到URL队列权值,进而对权值最高的待访问URL队列中的URL进行访问,并根据访问的URL采集网页数据,进而实现及时、有效的进行数据采集。
文档编号G06F17/30GK102117275SQ20091021750
公开日2011年7月6日 申请日期2009年12月31日 优先权日2009年12月31日
发明者吴新丽, 尹小刚, 杨建武, 蓝康泰 申请人:北京北大方正电子有限公司, 北京大学, 北京方正电子政务信息科技有限公司, 北大方正集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1