一种论坛回帖增量采集方法及系统的制作方法

文档序号:6340982阅读:272来源:国知局
专利名称:一种论坛回帖增量采集方法及系统的制作方法
技术领域
本发明属于网络信息采集技术领域,具体涉及ー种论坛回帖增量采集方法及系统。
背景技术
随着互联网的出现,尤其网络论坛、网络社区的广泛开设,使得全世界范围的人群都可以在一起自由地发表、交流各种观点。中国的网络论坛达到一百多万个,并且80%的网站拥有独立的论坛,经常浏览网络论坛的人数已经过亿。不同于其他的形式,网络论坛具有速度快、范围广的特点。ー个受人瞩目的话题可能在很短的时间内达到上万名网民的回帖讨论,回帖信息达到成百上千页。此时,用户不仅仅想查看话题的发起者的言论即主帖的内容,更想看到其他网民对该话题所发表的言论。然而,通过一般的搜索引擎很难查询到翻页的回帖信息,即使有时能够查询到,在时效性上也很不理想,数据延迟较大。现有的论坛采集系统也只是采集帖子的首页信息,而不采集帖子的回帖信息。

发明内容
针对现有技术中存在的缺陷,本发明所要解决的技术问题是提供一种论坛回帖增量采集方法及系统,该方法及系统能够快速、准确、完整地采集ー篇帖子的所有主/回帖信息,克服了现有搜索引擎在搜索帖子的翻页回帖信息时存在漏搜或者搜索不到的缺陷,以及现有论坛采集系统只采集帖子的首页信息而不采集回帖信息的缺陷。为解决上述技术问题,本发明采用的技术方案如下一种论坛回帖增量采集方法,包括以下步骤(1)根据帖子首页URL和帖子回复数信息,周期性判断所有需要采集的论坛列表页中是否存在新增帖子和/或具有新回帖的帖子;(2)如果存在新增帖子,则从新增帖子中提取出主贴和回帖信息;如果存在具有新回帖的帖子,则计算新回帖起点和新回帖个数,根据新回帖起点和新回帖个数从具有新回帖的帖子中提取出新回帖信息。一种论坛回帖增量采集系统,包括用于根据帖子首页URL和帖子回复数信息,周期性判断所有需要采集的论坛列表页中是否存在新增帖子和具有新回帖的帖子的判断装置;用于对新增帖子,从新增帖子中提取出主贴和回帖信息;对具有新回帖的帖子,计算新回帖起点和新回帖个数,根据新回帖起点和新回帖个数从具有新回帖的帖子中提取出新回帖信息的提取装置。本发明所述的方法及系统,通过周期性监控列表页的方式,能够及时获取列表页中的新增回帖和具有新回帖的帖子信息;通过URL标识和回复数信息进行快速消重处理, 避免重复采集;通过区分不同的翻页链接提取方式达到快速进行翻页回帖采集的目的;从而能够快速、准确、完整地采集ー篇帖子的所有主/回帖信息。回帖的漏采率在5%以下,实时性可达分钟级。


图1是具体实施方式
中论坛回帖增量采集系统的结构框图;图2是具体实施方式
中论坛回帖增量采集方法的流程图;图3是具体实施方式
中判断列表页中是否存在新增帖子和具有新回帖的帖子的方法流程图;图4是具体实施方式
中从新增帖子中提取出主贴和回帖信息,从具有新回帖的帖子中提取出新回帖信息的方法流程图。
具体实施例方式下面结合附图及具体实施方式
对本发明进行进一步的说明。如图1所示,本实施方式中论坛回帖增量采集系统包括判断装置11,与判断装置 11连接的提取装置12。其中,判断装置11包括第一队列单元111、第一获取单元112、列表页提取単元113和判断単元114。提取装置12包括第二队列单元121、扫描单元122、第二获取单元123、内容页提取単元IM和消重単元125。判断装置11用于根据帖子首页URL和帖子回复数信息,周期性判断所有需要采集的论坛列表页中是否存在新增帖子和具有新回帖的帖子。其中,第一队列单元111用于将所有需要采集的论坛列表页URL添加到列表页采集队列。第一获取单元112用于从列表页采集队列中取出每个列表页URL。列表页提取単元113用于对取出的每个列表页URL,获取该列表页URL对应的网页内容,从所述网页内容中提取出每个帖子首页URL和当前回复数。 判断単元113用于根据帖子首页URL判断每个帖子在已采集帖子信息表中是否存在;如果存在,则继续判断该帖子当前回复数是否大于已采集帖子信息表中记录的本次回复数,如果大于,则该帖子有新回帖,更新已采集帖子信息表中该帖子的上次回复数和本次回复数; 如果该帖子在已采集帖子信息表中不存在,则该帖子为新增帖子,将该帖子首页URL和当前回复数添加到已采集帖子信息表中。提取装置12用于对新增帖子,从新增帖子中提取出主贴和回帖信息;对具有新回帖的帖子,计算新回帖起点和新回帖个数,根据新回帖起点和新回帖个数从具有新回帖的帖子中提取出新回帖信息。其中,第二队列单元121用于将新增帖子的首页URL和具有新回帖的帖子URL添加到内容页采集队列。扫描单元122用于定时扫描内容页采集队列。第二获取单元123用于从内容页采集队列中取出每个URL。内容页提取単元IM用于获取URL 对应的网页内容,并从所述网页内容中提取主贴和/或回帖和/或翻页URL。消重単元125 用于对论坛翻页方式为下ー页翻页方式时从网页内容中提取的翻页URL进行消重处理。第 ニ队列单元121还用于将消重后的翻页URL添加到内容页采集队列。如图2所示,本实施方式中基于图1所示系统的论坛回帖增量采集方法的流程,包括以下步骤(1)判断装置11周期性判断所有需要采集的论坛列表页中是否存在新增帖子和/ 或具有新回帖的帖子。如图3所示,本实施方式中采用的判断方法包括以下步骤
7
(a)第一队列单元111将所有需要采集的论坛列表页URL添加到列表页采集队列。 所述列表页是指论坛中包含所有帖子标题、URL(统ー资源定位符)、点击数、回复数等信息的列表页面,不包括帖子的具体内容。如搜狐论坛的财经大杂烩频道的列表页,其URL如下http://cluo. business, sohu. com/l-enjoy-0-0-0-0. html。再如人民网强国社区的国际论坛频道的列表页,其URL如下http://bbsl.people.com.cn/boardList.do ? action = postList&boardld = 6。本实施方式中,对每个需要采集的论坛列表页均设定采集时间间隔,如每隔5分钟采集一次;监控每个列表页的采集时间间隔;当某个列表页达到采集时间间隔吋,便将该列表页URL添加到列表页采集队列。优选的,刷新间隔根据论坛的更新频率动态调整;论坛的更新频率越快,刷新间隔越短;论坛的更新频率越慢,则刷新间隔越长。如预先设定每隔5分钟采集一次,在后续采集过程中,如果发现论坛更新频率增加,则将刷新间隔缩短为3分钟,进而缩短为1分钟或更短。论坛的更新频率的计算方法可參见中国专利申请“ー种网页数据信息的定向采集方法及装置”(申请号201010236363. 7),此处不再赘述。(b)第一获取单元112从列表页采集队列中取出每个列表页URL。本实施方式中,从列表页采集队列中取出列表页URL采用的方法为定时扫描列表页采集队列(扫描间隔时间可由用户根据具体应用情况设置),如果列表页采集队列不空,则按照先进先出順序依次从列表页采集队列中取出列表页URL(从队列中取出URL后, 该URL便会自动从队列中删除),并且满足该列表页URL所属网站的友好访问条件。如果某列表页URL不满足该列表页URL所属网站的友好访问条件,则在本次扫描中忽略该列表页 URL,继续判断下ー个列表页URL,该列表页URL留待后续扫描中处理。网站的友好反问条件包括当前访问数量限制和访问的时间间隔限制。判断是否满足网站的友好反问条件的方法可參见中国专利申请“ー种从网站中多个不同IP的服务器抓取网页的方法及系统”(申请号:201010546334. 0),此处不再赘述。(c)列表页提取単元113对取出的每个列表页URL,获取该列表页URL对应的网页内容;再从网页内容中提取出每个帖子首页URL和当前回复数。根据每个列表页的URL,向该URL所属网站发送获取该URL对应网页内容的HTTP 请求,然后接收返回的网页内容。从网页内容中提取帖子首页URL和当前回复数为现有技木,此处不再赘述。(d)判断単元113根据帖子首页URL判断该帖子在已采集帖子信息表中是否存在。 如果存在,则说明该帖子已采集过,继续判断该帖子当前回复数是否大于已采集帖子信息表中记录的本次回复数。如果大于,则说明该帖子有新回帖,在已采集帖子信息表中更新该帖子的上次回复数和本次回复数,即用已采集帖子信息表中该帖子的本次回复数的数值替换上次回复数的数值,用该帖子当前回复数的数值替换已采集帖子信息表中该帖子的本次回复数的数值。如果不大于,则说明该帖子没有新回帖,抛弃该URL不作任何后续处理。如果该帖子在已采集帖子信息表中不存在,则说明该帖子为新增帖子,将该帖子首页URL和当前回复数添加到已采集帖子信息表中,该帖子的上次回复数为0,本次回复数为当前回复数。已采集帖子信息表中存储有已采集帖子首页URL和已采集帖子的上次回复数和本次回复数,其结构如下表所示
权利要求
1.一种论坛回帖增量采集方法,包括以下步骤(1)根据帖子首页URL和帖子回复数信息,周期性判断所有需要采集的论坛列表页中是否存在新增帖子和具有新回帖的帖子;(2)如果存在新增帖子,则从新增帖子中提取出主贴和回帖信息;如果存在具有新回帖的帖子,则计算新回帖起点和新回帖个数,根据新回帖起点和新回帖个数从具有新回帖的帖子中提取出新回帖信息。
2.如权利要求1所述的论坛回帖增量采集方法,其特征在干,步骤(1)中所述周期判断所有需要采集的论坛列表页中是否存在新增帖子和具有新回帖的帖子的方法如下(a)获取所有需要采集的论坛列表页URL;(b)对每个列表页URL,获取该列表页URL对应的网页内容;再从所述网页内容中提取出每个帖子首页URL和当前回复数;(c)根据帖子首页URL判断每个帖子在已采集帖子信息表中是否存在;如果存在,则继续判断该帖子当前回复数是否大于已采集帖子信息表中记录的本次回复数,如果大于,则该帖子有新回帖,更新已采集帖子信息表中该帖子的上次回复数和本次回复数;如果该帖子在已采集帖子信息表中不存在,则该帖子为新增帖子,将该帖子首页URL和当前回复数添加到已采集帖子信息表中。
3.如权利要求2所述的论坛回帖增量采集方法,其特征在干,步骤(a)中所述获取所有需要采集的论坛列表页URL的方法如下对每个需要采集的论坛列表页均设定采集时间间隔;监控每个列表页的采集时间间隔;当某个列表页达到采集时间间隔吋,便将该列表页URL添加到列表页采集队列;定时扫描列表页采集队列,如果列表页采集队列不空,则按照先进先出順序依次从列表页采集队列中取出列表页URL。
4.如权利要求3所述的论坛回帖增量采集方法,其特征在于所述采集时间间隔根据列表页URL所属论坛的更新频率动态调整;论坛的更新频率越快,采集时间间隔越短;论坛的更新频率越慢,采集时间间隔越长。
5.如权利要求3所述的论坛回帖增量采集方法,其特征在于所述从列表页采集队列中取出的列表页URL需要满足该列表页URL所属网站的友好访问条件。
6.如权利要求2 5中任一项所述的论坛回帖增量采集方法,其特征在干,步骤(2)中所述从新增帖子中提取出主贴和回帖信息以及从具有新回帖的帖子中提取出新回帖信息的方法如下(i)将新增帖子的首页URL和具有新回帖的帖子URL添加到内容页采集队列;( )定时扫描内容页采集队列;(iii)如果内容页采集队列不空,则从内容页采集队列中取出每个URL;(iv)获取取出的URL对应的网页内容,并从所述网页内容中提取主贴和/或回帖信息和/或翻页URL,并将翻页URL添加到内容页采集队列。
7.如权利要求6所述的论坛回帖增量采集方法,其特征在干,步骤α)中所述将新增帖子的首页URL和具有新回帖的帖子URL添加到内容页采集队列的方法如下对于新增帖子,如果该帖子首页URL在内容页采集队列中存在,则将该帖子首页URL取出,并将已采集帖子信息表中记录的该帖子本次回复数修改为当前回复数,再将其插入到内容页采集队列中;如果该帖子首页URL在内容页采集队列中不存在,则直接将该帖子首页URL添加到内容页采集队列;对于具有新回帖的帖子,如果该帖子所属论坛的翻页方式为计算翻页方式,则直接将具有新回帖的帖子首页URL添加到内容页采集队列;如果该帖子所属论坛的翻页方式为下一页翻页方式,则查找翻页URL信息表,将所述翻页URL信息表中该帖子的最后ー个翻页 URL添加到内容页采集队列。
8.如权利要求6所述的论坛回帖增量采集方法,其特征在干,步骤(iii)中所述从内容页采集队列中取出每个URL的方法如下按照先进先出順序依次从内容页采集队列中取出URL,并且满足该URL所属网站的友好访问条件。
9.如权利要求6所述的论坛回帖增量采集方法,其特征在干,步骤(iv)中所述从网页内容中提取主贴和/或回帖信息的方法如下如果该URL为帖子首页URL并且是第一次采集,则从该URL对应的网页内容中提取主贴和回帖信息;如果该URL为帖子首页URL但不是第一次采集,则根据如下公式确定新回帖起点和新回帖个数,从新回帖起点^·_开始提取新回帖信息;
10.如权利要求9所述的论坛回帖增量采集方法,其特征在干,步骤(iv)中所述从网页内容中提取翻页URL的方法如下1)如果论坛翻页方式为计算翻页方式,且URL为帖子首页URL,则先采用如下公式计算翻页的起始页码PBegin和终止页码PEnd
11.如权利要求10所述的论坛回帖增量采集方法,其特征在干,步骤1)中所述翻页规则中,将翻页URL分割成三个部分,其中第一部分和第三部分为不变部分,分别记为 StrBeforePage和StrAfterPage ;第二部分为变化部分,记为nPageUp ;翻页URL的拼接方法如下nPageNo = i+nFirstPostPageIndex-InPageUp = (nPageNo XnPageUsBaseNum)strPostPageUrl = strBeforePage+nPageUp+strAfterPage其中,i表示翻页页码,PBegin彡i彡PEnd,nPageNo表示新回帖所在页码; nFirstPostPagelndex = 0或1,表示帖子首页页码;rfageUp表示填写在待拼接URL内的表示翻页的页码值;rfag^sBaseNum表示翻页基数;strPostfagetol表示拼接后的URL。
12.如权利要求10所述的论坛回帖增量采集方法,其特征在干步骤2)中所述从网页内容中提取翻页URL后,添加到内容页采集队列之前,还包括对翻页URL进行消重处理的步骤。
13.如权利要求12所述的论坛回帖增量采集方法,其特征在干,所述消重处理的方法如下在翻页URL信息中查找该翻页URL所属帖子是否存在翻页URL信息表;如果不存在,将建立该翻页URL所属帖子的翻页URL信息表,并将该翻页URL插入到翻页URL信息表和内容页采集队列;如果存在,则判断该翻页URL的页码是否大于该翻页URL所属帖子的翻页URL 的页码;如果大于,则更新该翻页URL所属帖子的翻页URL信息表,并将该翻页URL添加到内容页采集任务队列中;否则直接删除该翻页URL。
14.一种论坛回帖增量采集系统,包括用于根据帖子首页URL和帖子回复数信息,周期性判断所有需要采集的论坛列表页中是否存在新增帖子和具有新回帖的帖子的判断装置 (11);用于对新增帖子,从新增帖子中提取出主贴和回帖信息;对具有新回帖的帖子,计算新回帖起点和新回帖个数,根据新回帖起点和新回帖个数从具有新回帖的帖子中提取出新回帖信息的提取装置(12)。
15.如权利要求14所述的论坛回帖增量采集系统,其特征在干,所述判断装置(11)包括第一队列单元(111),用于将所有需要采集的论坛列表页URL添加到列表页采集队列; 第一获取单元(112),用于从列表页采集队列中取出每个列表页URL ; 列表页提取単元(11 ,用于对取出的每个列表页URL,获取该列表页URL对应的网页内容,并从所述网页内容中提取出每个帖子首页URL和当前回复数;判断単元(114),用于根据帖子首页URL判断每个帖子在已采集帖子信息表中是否存在;如果存在,则继续判断该帖子当前回复数是否大于已采集帖子信息表中记录的本次回复数,如果大于,则该帖子有新回帖,更新已采集帖子信息表中该帖子的上次回复数和本次回复数;如果该帖子在已采集帖子信息表中不存在,则该帖子为新增帖子,将该帖子首页 URL和当前回复数添加到已采集帖子信息表中。
16.如权利要求14所述的论坛回帖增量采集系统,其特征在干,所述提取装置(12)包括第二队列单元(121),用于将新增帖子的首页URL和具有新回帖的帖子URL添加到内容页采集队列;扫描单元(122),用于定时扫描内容页采集队列; 第二获取单元(123),用于从内容页采集队列中取出每个URL; 内容页提取単元(1 ),用于获取URL对应的网页内容,并从所述网页内容中提取主贴和/或回帖和/或翻页URL。
17.如权利要求16所述的论坛回帖增量采集系统,其特征在于所述提取装置(12)还包括用于对论坛翻页方式为下ー页翻页方式时从网页内容中提取的翻页URL进行消重处理的消重単元(125);所述第二队列单元(121)还用于将消重后的翻页URL添加到内容页采集队列。
全文摘要
本发明公开了一种论坛回帖增量采集方法及系统,属于网络信息采集技术领域。本发明所述方法周期性判断所有需要采集的论坛列表页中是否存在新增帖子和具有新回帖的帖子;如果存在,则从所述新增帖子中提取出主贴和回帖信息,从所述具有新回帖的帖子中提取出新回帖信息。本发明所述系统包括用于周期性判断所有需要采集的论坛列表页中是否存在新增帖子和具有新回帖的帖子的判断装置(11);以及用于从新增帖子中提取出主贴和回帖信息,从具有新回帖的帖子中提取出新回帖信息的提取装置(12)。本发明能够快速、准确、完整地采集一篇帖子的所有主、回帖信息,从而解决了现有搜索引擎在搜索帖子的翻页回帖信息时存在漏搜或搜索不到的问题。
文档编号G06F17/30GK102567407SQ20101061839
公开日2012年7月11日 申请日期2010年12月22日 优先权日2010年12月22日
发明者吴新丽, 杨建武 申请人:北京北大方正电子有限公司, 北京大学, 北大方正集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1