首页> 中国专利> 自动动态更新论坛爬虫系统的构建方法

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

摘要

本发明公开了一种自动动态更新论坛爬虫系统的构建方法,该方法包括下列步骤:(1)提取存储纯网页超链接;(2)判断话题网页位置;(3)检测话题网页新旧;(4)新话题网页处理;(5)旧话题网页处理;(6)纯网页超链接情况判断处理。通过应用本发明所描述的方法,可以有效地避免静态更新的弊端;可以自动实时地更新论坛网页;可以为搭建动态更新论坛爬虫系统提供通用的设计框架;更加迅速便利地实现系统开发,有效地降低系统开发成本。

著录项

  • 公开/公告号CN101436196A

    专利类型发明专利

  • 公开/公告日2009-05-20

    原文格式PDF

  • 申请/专利权人 北京邮电大学;

    申请/专利号CN200810180823.1

  • 发明设计人 杨溥;郭军;徐蔚然;

    申请日2008-11-25

  • 分类号G06F17/30;

  • 代理机构

  • 代理人

  • 地址 100876 北京市海淀区西土城路10号

  • 入库时间 2023-12-17 22:01:59

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-01-23

    未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20101208 终止日期:20111125 申请日:20081125

    专利权的终止

  • 2010-12-08

    授权

    授权

  • 2009-07-15

    实质审查的生效

    实质审查的生效

  • 2009-05-20

    公开

    公开

说明书

技术领域

本发明涉及网络数据采集系统的构建方法,尤其涉及一种自动动态更新论坛爬虫系统的构建方法。

背景技术

随着电脑技术的发展普及和互联网的迅速崛起,人们渐渐从传统的交流沟通形式中抽身而出,利用大量的时间和精力投入到新兴的交流沟通形式-------论坛中。论坛是电脑和互联网的产物,它具有着很多优点,如实时性,广泛性等等。正是这些显著的优点使得人们在论坛上各抒己见,讨论热点问题,交流技术和心得等等。论坛不同于一般的门户网站,其更新速度是非常得快,特别是一些热门话题集中讨论的更新速度是极其快的,这就对论坛的爬虫系统提出巨大的挑战。目前的爬虫系统的更新策略是静态更新方式,即过一段时间将最容易更新的网页再重新抓一遍。这种方式对于论坛而言缺点是明显的:第一,耗时耗力,将自我认为是易更新的网页重新爬取一遍,而在论坛中这种判断是很难的,人们对于话题的热度是短时间大量集中而后迅速衰减的,这就需要不断的修正易更新的判断机制,这需要大量的人工参与,显然是不现实的。第二,实时性差,论坛对于一个热门话题更新是很快的,如果静态更新根本跟不上速度,而且人们对于热门更新较快的话题更加有查找的兴趣,由于网页量的限制,等到静态更新到的时候,这个话题很可能已经没有人关注了,这样即使是更新了,也失去了意义。怎样做到爬虫系统的迅速实时更新已受到越来越多的学者关注。目前,还没有一种系统的行之有效的迅速实时更新爬虫构建方法。

论坛不同于其他的网站,鉴于其独特的构建结构特点,为了有效地解决静态更新的缺点,本发明提出自动动态更新的概念,并且引入自动动态更新的技术来迅速实时更新论坛。

发明内容

针对现有技术存在的问题,本发明的目的是提供一种自动动态更新论坛爬虫系统的构建方法。

为达到上述目的,本发明的方法包括下列步骤:

(1)提取存储纯网页超链接;

(2)判断话题网页位置;

(3)检测话题网页新旧;

(4)新话题网页处理;

(5)旧话题网页处理;

(6)纯网页超链接情况判断处理。

上述方法中,步骤(1)进一步包括:

(11)提取纯网页超链接;

(12)存储纯网页超链接。

上述方法中,步骤(4)进一步包括:

(41)下载存储整个话题组网页;

(42)存储话题组末尾网页到检测库。

上述方法中,步骤(5)进一步包括:

(51)读取检测库话题旧末尾话题网页;

(52)读取话题组新末尾网页;

(53)比较检测库话题旧末尾话题网页和话题组新末尾网页的异同;

(54)若(53)结果为相同,则放弃不做任何处理;

(55)若(53)结果为不同,则下载存储话题组旧尾页后网页;

(56)在(55)之后,替代检测库旧的话题末尾网页。

上述方法中,步骤(6)进一步包括:

(61)分析判断纯网页超链接是否处理完;

(62)若(61)结果为没有处理完,则提供待处理纯网页超链接;

(63)若(61)结果为处理完,则结束。

本发明的有益效果在于,通过应用本发明所描述的方法,可以有效地避免静态更新的弊端;可以自动实时地更新论坛网页;可以为搭建动态更新论坛爬虫系统提供通用的设计框架;更加迅速便利地实现系统开发,有效地降低系统开发成本。

结合附图,本发明的其他特点和优点可以从下面通过举例来对本发明的原理进行解释的优选实施方式的说明中变得更清楚。

附图说明

图1是根据本发明的一个实施方式的方法的流程图。

具体实施方式

为了更加清晰描述具体实施方式,首先介绍自动动态更新的思想。

论坛不同于其他的网站,更新一般有两种形式,一种为新的话题的开始,一种为旧的话题的续接。论坛网页有用信息的更新全部是通过这两条更新线路展开的。因为论坛都是动态生成网页,所以论坛网页的地址之间有着连续性,只要检测每个话题的最末网页,并且将新下载的最末的网页与之前的同话题最末网页进行比较,就可以得出是否需要更新。而且由于轮坛网页之间有引用关系,所以在爬抓其他话题网页的时候,可以同时迅速地实时更新其他话题的网页,而不需要像静态更新那样,全部爬抓完后再去更新制定的一些网页。

下面将结合附图对本发明的具体实施方式进行详细描述。

图1是根据本发明的一个实施方式的方法的流程图。该流程开始于步骤101,需要指出的是以下所提及的具体论坛仅仅是举例,具体的论坛不构成对本发明的限制。然后在步骤102中,提取当前论坛网页里的论坛范围的纯网页超链接。需要说明的是起始论坛网页应当是包含超链接丰富的网页,如论坛的首页等,这仅仅是最优举例,起始论坛网页的不同不构成对本发明的限制。

提取当前论坛网页里的论坛范围的纯网页超链接,一种实施方式是利用超链接的本身所包含的信息来进行分析提取。下面通过举例来进一步说明。如:http://forum.byr.edu.cn/wForum/board.php?name=BUPTSTV和http://img.cnbeta.com/kingsoft_576.GIF,第一个为北京邮电大学论坛范围内的一个超链接,第二个为非北京邮电大学论坛范围内但却存在于北京邮电大学论坛网页中的一个超链接。通过超链接本身的分析可知,在北京邮电大学论坛范围内的超链接都包含http://forum.byr.edu.cn字符串,即该论坛的主机名,并且第一个为纯网页,因为有标志性的后缀名“.php”,而第二个因为有图像文件的后缀名“.GIF”为非纯网页。在一个论坛中,论坛的主机名是已知的,并且纯网页的标志性后缀是可知的有限几种,如:php,asp,jsp等等。因此通过正则表达式匹配主机名和后缀名就能够提取出当前论坛网页里的论坛范围的纯网页超链接。以上是提取当前论坛网页里的论坛范围的纯网页超链接的一种实施例,其他不同的实施例子不构成对本发明的限制。

步骤102之后,流程进入步骤103。

在步骤103,存储纯网页超链接。一个实施例是通过文本系统或关系型数据库存储。以上是存储纯网页超链接的一种实施例,其他不同的实施例子不构成对本发明的限制。

步骤103之后,流程进入步骤104。

在步骤104,判断当前话题网页在话题中的位置。因为论坛都是动态生成网页,所以论坛网页的地址之间有着连续性。一个实施例是通过正则表达式将当前网页超链接后面的page信息取出,根据page后面的数据判断。如,http://forum.byr.edu.cn/wForum/disparticle.php?boardName=Notebook-ID=79272pos=6&page=2,将page=2取出来即可得到当前网页在话题中的位置是2,即第二个页面。以上是判断当前话题网页在话题中的位置的一种实施例,其他不同的实施例子不构成对本发明的限制。

步骤104之后,流程进入步骤105。

在步骤105,检测当前话题网页新旧。为了清晰说明实施例,先说明一下检测库。检测库是一个存储各个不同话题末页和其超链接的库,做比对之用。两个实施例是文件系统和关系型数据库。一个检测当前话题网页新旧的实施例是首先通过字符串技术将当前话题网页除了page信息之外的所有超链接信息提取出来,然后在检测库中查找是否有当前话题网页的末页。如步骤104具体实施例中的例子,提取出如下信息:http://forum.byr.edu.cn/wForum/disparticle.php?boardName=Notebook-ID=79272pos=6&,因为检测库中都是不同话题的末页,所以除了page信息以外的超链接信息是各不相同的,这样在检测库中去查找是否有如上信息。以上是检测当前话题网页新旧的一种实施例,其他不同的实施例子不构成对本发明的限制。

若没有查找到,说明此为新话题,则流程进入步骤106;若查到了,说明此为旧话题,则流程进入步骤108。

在步骤106,下载存储当前话题网页所在的整个话题组。一个实施例是将步骤105中提取出的除了page信息之外的超链接信息之后加上page=1,下载此超链接所指向的话题网页,然后依次2,3......将网页全部下载并比较,直到前一次的网页和后面的网页相同为止,此时说明话题到了末页,就不再下载存储了。需要说明的是,这是由于论坛的特殊架构方式导致末页之后的网页其实是末页的跳转。以上是下载存储当前话题网页所在的整个话题组的一种实施例,其他不同的实施例子不构成对本发明的限制。

步骤106之后,流程进入步骤107。

在步骤107,存储话题尾页到检测库。一个实施例是将步骤106中得到的话题末页超链接直接存储到文件系统。以上是存储话题尾页到检测库的一种实施例,其他不同的实施例子不构成对本发明的限制。

在步骤108,读取检测库话题旧尾页。一个实施例是将步骤105中查找到的超链接用字符串匹配提取出来。以上是读取检测库话题旧尾页的一种实施例,其他不同的实施例子不构成对本发明的限制。

步骤108之后,流程进入步骤109。

在步骤109,读取当前话题新末尾网页。一个实施例是将步骤108中提取出的超链接在page信息的数量上加一后生成新的超链接,然后将此超链接所指向的话题网页下载。以上是读取当前话题新末尾网页的一种实施例,其他不同的实施例子不构成对本发明的限制。

步骤109之后,流程进入步骤110。

在步骤110,比较当前话题新末尾网页和检测库话题旧尾页的异同。一个实施例是比较网页的大小和从服务器端得到的网页的http头信息的异同,通过这两指标就可以判断网页是否相同。以上是比较当前话题新末尾网页和检测库话题旧尾页的异同的一种实施例,其他不同的实施例子不构成对本发明的限制。

若两者相同,说明此旧话题没有更新,则流程进入步骤111;若两者不相同,说明此旧话题有更新,则流程进入步骤112。

在步骤111,抛弃不处理。

在步骤112,下载存储话题组旧尾页后网页。一个实施例是将108中提取出的超链接的page信息上每次累加一并且下载新生成的超链接所指向的话题网页,直到前一次的网页和后面的网页相同为止,此时说明话题到了末页,就不再下载存储了。以上是下载存储话题组旧尾页后网页的一种实施例,其他不同的实施例子不构成对本发明的限制。

步骤112之后,流程进入步骤113。

在步骤113,用新的话题尾页替代检测库中旧尾页。一个实施例是直接将步骤112中得到的新的话题尾页和其超链接插入到相应的检测库中旧尾页的位置并将旧尾页和其超链接删去。以上是用新的话题尾页替代检测库中旧尾页的一种实施例,其他不同的实施例子不构成对本发明的限制。

步骤107,111,113之后,流程都进入步骤114。

在步骤114,分析判断纯网页超链接是否全部处理完。一个实施例是直接在步骤103生成的纯网页超链接库中查找当前处理的超链接的下一个链接是否为空。以上是分析判断纯网页超链接是否全部处理完的一种实施例,其他不同的实施例子不构成对本发明的限制。

若为空,说明纯网页超链接全部处理完,则流程进入步骤116;若不为空,说明纯网页超链接没有全部处理完,则流程进入步骤115。

在步骤114,提供待处理超链接。一个实施例是直接在步骤103生成的纯网页超链接库中提取当前处理的超链接的下一个链接,然后将此链接送到步骤102。以上是提供待处理超链接的一种实施例,其他不同的实施例子不构成对本发明的限制。

在步骤116,结束。

以上结合附图描述了本发明的具体实施方式,各种举例说明不对发明的实质内容构成限制,本发明不限于上面提供的实施细节,可以在不脱离本发明特征的情况下以另外的实施例实现。所属技术领域的普通技术人员在阅读了说明书后可以对以前所述的具体实施方式做修改或变形,而不背离发明的实质和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号