自动动态更新论坛爬虫系统的构建方法

文档序号:6468303阅读:132来源:国知局
专利名称:自动动态更新论坛爬虫系统的构建方法
技术领域
本发明涉及网络数据采集系统的构建方法,尤其涉及一种自动
动态更^H仑坛爬虫系纟克的构建方法。
背景技术
随着电脑技术的发展普及和互联网的迅速崛起,人们渐渐从传 统的交流沟通形式中抽身而出,利用大量的时间和精力投入到新兴
的交流沟通形式-------论坛中。论坛是电脑和互联网的产物,它具有
着很多优点,如实时性,广泛性等等。正是这些显著的优点使得人 们在论坛上各杼己见,讨论热点问题,交流技术和心得等等。论坛 不同于一4殳的门户网站,其更新速度是非常得快,特别是一些热门 话题集中讨论的更新速度是极其快的,这就对论坛的爬虫系统提出 巨大的4兆战。目前的爬虫系统的更新策略是《争态更新方式,即过一 段时间将最容易更新的网页再重新抓一遍。这种方式对于论坛而言 缺点是明显的第一,耗时耗力,将自我认为是易更新的网页重新 爬取一遍,而在论坛中这种判断是很难的,人们对于话题的热度是 短时间大量集中而后迅速衰减的,这就需要不断的》务正易更新的判 断机制,这需要大量的人工参与,显然是不现实的。第二,实时性 差,论坛对于一个热门话题更新是很快的,如果静态更新根本跟不 上速度,而且人们对于热门更新4交快的话题更加有查找的兴趣,由 于网页量的限制,等到静态更新到的时候,这个话题很可能已经没 有人关注了,这样即使是更新了,也失去了意义。怎样做到爬虫系统的迅速实时更新已受到越来越多的学者关注。目前,还没有一种 系统的行之有效的迅速实时更新爬虫构建方法。
论坛不同于其他的网站,鉴于其独特的构建结构特点,为了有 效地解决静态更新的缺点,本发明提出自动动态更新的概念,并且 引入自动动态更新的技术来迅速实时更新论坛。

发明内容
针对现有技术存在的问题,本发明的目的是提供一种自动动态 更新-沦坛爬虫系统的构建方法。
为达到上述目的,本发明的方法包括下列步骤 (1 )提取存储纯网页超链接; (2)判断话题网页位置;
(3 ) 4企测话题网页新旧;
(4) 新i舌题网页处J里;
(5) 旧话题网页处理;
(6) 纯网页超链接情况判断处理。 上述方法中,步骤(l)进一步包括
(11 )提取纯网页超链接; (12)存储纯网页超链接。 上述方法中,步-骤(4)进一步包4舌
(41) 下载存^f诸整个话题组网页;
(42) 存储话题组末尾网页到检测库。 上述方法中,步骤(5)进一步包括
(51 )读取#企测库话题旧末尾话题网页;(52 )读取话题组新末尾网页;
(53 )比较4企测库话题旧末尾话题网页和话题组新末尾网页的 异同;
(54) 若(53)结果为相同,则放弃不做任何处理;
(55) 若(53)结果为不同,则下载存储话题组旧尾页后网页;
(56) 在(55)之后,替代检测库旧的话题末尾网页。 上述方法中,步艰《(6)进一步包括
(61 )分析判断纯网页超链4妻是否处理完;
(62) 若(61 )结果为没有处理完,则提供待处理纯网页超链接;
(63) 若(61)结果为处理完,则结束。
本发明的有益效果在于,通过应用本发明所描述的方法,可以 有岁支i也避免^争态更新的弊端;可以自动实时i也更新i仑坛网页;可以 为搭建动态更新论坛爬虫系统提供通用的设计框架;更加迅速便利 i也实J见系统开发,有岁丈i也降^f氐系统开发成本。
结合附图,本发明的其他特点和优点可以从下面通过举例来对 本发明的原理进4亍解释的优选实施方式的i兌明中变得更清楚。


图1是才艮据本发明的一个实施方式的方法的流程图。
具体实施例方式
为了更加清晰描述具体实施方式
,首先介绍自动动态更新的思想。论坛不同于其他的网站,更新一般有两种形式, 一种为新的话 题的开始, 一种为旧的话题的续接。论坛网页有用信息的更新全部 是通过这两条更新线i 各展开的。因为i仑坛都是动态生成网页,所以 论坛网页的地址之间有着连续性,只要4企测每个话题的最末网页, 并且将新下载的最末的网页与之前的同话题最末网页进行比较,就 可以得出是否需要更新。而且由于轮坛网页之间有引用关系,所以 在爬4爪其他话题网页的时^矣,可以同时迅速地实时更新其他话题的 网页,而不需要Y象I争态更新那样,全部爬4爪完后再去更新制定的一 些网页。
下面将结合附图对本发明的具体实施方式
进行详细描述。
图1是根据本发明的一个实施方式的方法的流程图。该流程开
始于步骤101,需要指出的是以下所提及的具体论坛仅仅是举例, 具体的论坛不构成对本发明的限制。然后在步骤102中,提取当前 论坛网页里的论坛范围的纯网页超链接。需要说明的是起始i仑坛网 页应当是包含超链接丰富的网页,如论坛的首页等,这仅仅是最优 举例,起始论坛网页的不同不构成对本发明的限制。
提取当前论坛网页里的论坛范围的纯网页超链接, 一种实施方 式是利用超链接的本身所包含的信息来进行分析才是取。下面通过举 例来进一步it明。如
http:〃forum.byr.edu.cn/wForum/board.php name=BUPTSTV和 http:〃img.cnbeta.com/kingsoft一576.gif,第 一个为北京由卩电大学i仑坛 范围内的一个超链接,第二个为非北京邮电大学论坛范围内但却存 在于北京邮电大学论坛网页中的 一个超链接。通过超链接本身的分 析可知,在北京邮电大学论坛范围内的超链接都包含 http:〃forum.byr.edu.cn字符串,即该i仑坛的主才几名,并且第 一个为 纯网页,因为有标志性的后缀名".php",而第二个因为有图^f象文件 的后缀名".gif,为非纯网页。在一个i仑坛中,论坛的主机名是已知的,并且纯网页的标志性后纟晨是可》口的有限几种,php, asp, jsp等等。因此通过正则表达式匹配主才几名和后乡晨名就能够才是取出 当前论坛网页里的论坛范围的纯网页超链接。以上是提取当前论坛 网页里的论坛范围的纯网页超链接的 一种实施例,其他不同的实施 例子不构成对本发明的限制。
步-骤102之后,流考呈进入步冬聚103。
在步骤103,存储纯网页超链4妻。 一个实施例是通过文本系统 或关系型数据库存储。以上是存储纯网页超链接的一种实施例,其 他不同的实施例子不构成对本发明的限制。
步骤103之后,流程进入步骤104。
在步骤104,判断当前话题网页在话题中的位置。因为论坛都 是动态生成网页,所以论坛网页的地址之间有着连续性。 一个实施 例是通过正则表达式将当前网页超链接后面的page信息取出,根据 page后面的凄史4居判断。如,
http:〃forum.byr.edu,cn/wForum/disparticle.php boardlSfame=Notebook -ID=79272pos=6&page=2,将page=2耳又出来即可得到当前网页在话 题中的位置是2,即第二个页面。以上是判断当前话题网页在话题 中的位置的一种实施例,其他不同的实施例子不构成对本发明的限 制。
步-骤104之后,流禾呈进入步艰《105。
在步-骤105,;险测当前话题网页新旧。为了清晰i兌明实施例, 先说明一下检测库。检测库是一个存储各个不同话题末页和其超链 接的库,做比对之用。两个实施例是文件系统和关系型数据库。一 个检测当前话题网页新旧的实施例是首先通过字符串技术将当前 话题网页除了 page信息之外的所有超链接信息提取出来,然后在检测库中查找是否有当前话题网页的末页。如步骤104具体实施例中 的例子,提取出如下信息
http:〃forum.byr.edu.cn/wForum/disparticle.php boardName=Notebook -ID=79272pos=6&,因为才企测库中都是不同话题的末页,所以除了 page信息以外的超链接信息是各不相同的,这样在冲全测库中去查找 是否有如上信息。以上是检测当前话题网页新旧的一种实施例,其 他不同的实施例子不构成对本发明的限制。
若没有查找到,说明此为新话题,则流程进入步骤106;若查 到了,说明此为旧话题,则流程进入步骤108。
在步-骤106,下载存4诸当前话题网页所在的整个话题组。 一个 实施例是将步骤105中提取出的除了 page信息之外的超链接信息之 后加上page二l,下载》匕超链4妻所指向的i舌题网页,然后依次2, 3......
一夺网页全部下载并比4交,直到前一次的网页和后面的网页相同为 止,此时说明话题到了末页,就不再下载存储了。需要说明的是,
跳转。以上是下载存储当前话题网页所在的整个话题组的 一种实施 例,其J也不同的实施例子不构成对本发明的限制。
步-骤106之后,流程进入步骤107。
在步骤107,存储话题尾页到检测库。 一个实施例是将步骤106 中得到的话题末页超链4妄直接存储到文件系统。以上是存储话题尾 页到检测库的 一种实施例,其他不同的实施例子不构成对本发明的 限制。
在步骤108,读取检测库话题旧尾页。 一个实施例是将步骤105 中查找到的超链接用字符串匹配提取出来。以上是读^F又检测库话题 旧尾页的 一种实施例,其他不同的实施例子不构成对本发明的限 制。步骤108之后,流程进入步骤109。
在步-骤109,读取当前话题新末尾网页。 一个实施例是将步骤 108中提取出的超链接在page信息的数量上加一后生成新的超链 接,然后将此超链接所指向的话题网页下载。以上是读取当前话题 新末尾网页的 一种实施例,其4也不同的实施例子不构成只于本发明的 限制。
步-骤109之后,流禾呈进入步-骤110。
在步骤110,比较当前话题新末尾网页和检测库话题旧尾页的 异同。 一个实施例是比较网页的大小和从服务器端得到的网页的 http头信息的异同,通过这两指标就可以判断网页是否相同。以上 是比4交当前话题新末尾网页和才全测库话题旧尾页的异同的 一种实 施例,其^f也不同的实施例子不构成乂于本发明的限制。
若两者相同,说明此旧话题没有更新,则流程进入步骤111; 若两者不相同,说明此旧话题有更新,则流程进入步骤112。
在步-骤lll,〖炮弃不处理。
在步骤112,下载存储话题组旧尾页后网页。 一个实施例是将 108中提取出的超链接的page信息上每次累加一并且下载新生成的 超链"l妻所指向的话题网页,直到前一次的网页和后面的网页相同为 止,此时说明话题到了末页,就不再下载存储了。以上是下载存4诸 话题组旧尾页后网页的 一种实施例,其他不同的实施例子不构成对 本发明的限制。
步骤112之后,流程进入步骤113。在步骤113,用新的话题尾页替代检测库中旧尾页。 一个实施 例是直接将步骤112中得到的新的话题尾页和其超链接插入到相应 的检测库中旧尾页的位置并将旧尾页和其超链接删去。以上是用新 的话题尾页替代才企测库中旧尾页的 一种实施例,其他不同的实施例 子不构成对本发明的限制。
步-骤107, 111, 113之后,流程都进入步骤114。
在步骤114,分4斤判断纯网页超《连4妻是否全部处理完。 一个实 施例是直4妄在步骤103生成的纯网页超《连4妄库中查找当前处理的超 4连接的下一个《连接是否为空。以上是分析判断纯网页超链4妄是否全 部处理完的一种实施例,其他不同的实施例子不构成对本发明的限制。
若为空,说明纯网页超链接全部处理完,则流程进入步骤116; 若不为空,i兌明纯网页超《连接没有全部处理完,则流程进入步-骤 115。
在步骤114,提供待处理超链接。 一个实施例是直接在步骤103 生成的纯网页超链接库中提取当前处理的超链接的下 一 个链接,然 后将此链接送到步骤102。以上是提供待处理超链接的一种实施例, 其他不同的实施例子不构成对本发明的限制。
在步-骤116,结束。
以上结合附图描述了本发明的具体实施方式
,各种举例i兌明不 对发明的实质内容构成限制,本发明不限于上面l是供的实施细节, 可以在不脱离本发明特征的情况下以另外的实施例实现。所属技术 领域的普通技术人员在阅读了说明书后可以对以前所述的具体实 施方式估:H务改或变形,而不背离发明的实质和范围。
权利要求
1. 一种自动动态更新论坛爬虫系统的构建方法,其特征在于包括下列步骤(1)提取存储纯网页超链接;(2)判断话题网页位置;(3)检测话题网页新旧;(4)新话题网页处理;(5)旧话题网页处理;(6)纯网页超链接情况判断处理。
2. 根据权利要求1所述的自动动态更新论坛爬虫系统的构建方 法,其特征在于步骤(l)进一步包括(11 )才是取纯网页超4连4妻;(12)存储纯网页超链接。
3. 根据权利要求1所述的自动动态更新论坛爬虫系统的构建方 法,其特征在于步骤(4)进一步包括(41) 下载存《诸整个话题组网页;(42) 存储话题组末尾网页到冲企测库。
4. 才艮据4又利要求1所述的自动动态更新-沦坛爬虫系统的构建方 法,其特征在于步骤(5)进一步包括(51 )读取检测库话题旧末尾话题网页;(52 )读取;舌题组新末尾网页;(53 )比4交才企测库话题旧末尾话题网页和话题组新末尾 网页的异同;(54 )若(53 )结果为相同,则;故弃不催"壬<可处理;(55)若(53)结果为不同,则下载存储话题组旧尾页 后网页;(56 )在(55 )之后,替代冲企测库旧的话题末尾网页。
5.根据权利要求1所述的自动动态更新论坛爬虫系统的构建方 法,其特;f正在于步骤(6)进一步包括(61) 分4斤判断纯网页超链4姿是否处理完;(62) 若(61)结果为没有处理完,则冲是供4寺处理纯网 页超链接;(63) 若(61)结果为处理完,则结束。
全文摘要
本发明公开了一种自动动态更新论坛爬虫系统的构建方法,该方法包括下列步骤(1)提取存储纯网页超链接;(2)判断话题网页位置;(3)检测话题网页新旧;(4)新话题网页处理;(5)旧话题网页处理;(6)纯网页超链接情况判断处理。通过应用本发明所描述的方法,可以有效地避免静态更新的弊端;可以自动实时地更新论坛网页;可以为搭建动态更新论坛爬虫系统提供通用的设计框架;更加迅速便利地实现系统开发,有效地降低系统开发成本。
文档编号G06F17/30GK101436196SQ20081018082
公开日2009年5月20日 申请日期2008年11月25日 优先权日2008年11月25日
发明者徐蔚然, 溥 杨, 军 郭 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1