一种识别网页正文楼层的系统和方法技术方案

技术编号:7974933 阅读:238 留言:0更新日期:2012-11-15 23:09
本发明专利技术公开了一种识别网页正文的系统,所述系统包括:网页解析布局模块,适于解析网页的源代码,对解析结果进行布局计算,生成网页的DOM树;结点识别模块,适于从DOM树的根结点开始遍历,识别DOM树中的正文结点和垃圾词结点;楼层划分模块,适于对识别出的正文结点按网页的楼层进行划分;移动终端页面生成模块,适于生成移动终端页面。本发明专利技术对于传统互联网网页的内容进行识别抽取后,可以有效地抽取出BBS正文、新闻正文及评论,并还原正文内容在原网页中的“分楼”展现特征,展现效果保持原“多楼”特征,以给用户提供优秀的阅读体验。

【技术实现步骤摘要】

本专利技术涉及互联网领域,特别涉及一种识别网页正文楼层的方法。
技术介绍
随着移动终端的发展和普及,人们越来越多的使用移动终端浏览网页。但由于互联网上的网站大都没有对移动终端的展现做特殊处理,所以大部分网页在移动终端上的展现产生的变形,导致用户体的阅读体验极差。当前改进用户阅读体验的方法便是对网页正文进行抽取、重排,再重新展现给用户。对于有大段内容的新闻、资讯网页效果较好,但会丢弃掉用户评论,对于正文分为多“楼”的论坛等,效果更差只能识别出某一楼正文或是识别不出正文。没有剔除源网页中的垃圾词信息,并且网页的内容并没有固定效果,会出现生成的网页与源网页效果。
技术实现思路
本专利技术目的是解决当前正文抽取技术对最大正文段的依赖和对于多“楼”内容处理不好的情况,使在对网页进行正文抽取和重排时,不但能够识别、提取出新闻正文,也能够识别新闻评论的评论内容,以及识别出论坛中的多“楼”内容。一种识别网页正文的系统,所述系统包括网页解析布局模块,适于解析网页的源代码,对解析结果进行布局计算,生成网页的DOM树;结点识别模块,适于从DOM树的根结点开始遍历,识别DOM树中的正文结点和/或垃圾词结点;楼层划分模块,适于对识别出的正文结点按网页的楼层进行划分。其中,所述DOM树的结点依据网页语言中的标签划分。其中,所述系统包括移动终端页面生成模块,适于生成移动终端页面。其中,所述根结点为body结点。其中,所述网页的DOM树在生成后只保留网页的主体元素。其中,所述网页主体元素包括文本、图片链接和/或文本文字格式。其中,所述结点识别模块包括统计模块,适于计算出每个网页页面的结点分布值、文本密度和/或垃圾词密度;分析模块,适于对所述结点分布值进行分析得出每个网页页面的各结点构成情况,并将所述文本密度和/或垃圾密度与预设的对应阈值相比较;正文识别模块,适于将上述文本密度和/或垃圾词密度落在对应阈值内的内容识别为正文。其中,所述结点分布值,表示一个结点的子结点构成情况,包括各种标签的个数以及标签占子结点的比例;所述文本密度,表示一个结点中的文本长度除以子结点个数得到的平均文本长度;所述垃圾词密度,表示一个结点中所有垃圾词的长度除以结点中所有文本长度的值。其中,所述垃圾词是基于词典进行识别的。其中,所述楼层划分模块包括位置划分模块,适于依据正文结点在DOM树上的位置关系对楼层进行划分;和/或特征词划分模块,适于依据网页中的特征词对楼层进行划分。其中,所述位置划分模块进行划分所依据的规则如下 如果两个正文结点在DOM树上是相邻的,则这两个结点属于同一楼层;如果一个正文结点和其它已判定属于同一楼层的正文结点有相同的父结点,则这些正文结点属于同一楼层;如果两个正文结点的的公共父结点为根结点,则两个正文结点划分为不同的楼层;以及,如果正文节点间的关系未包含在上述情况下,则划分为不同楼层。其中,所述特征词包括正文结点中的作者信息和/或非正文结点中的发表时间、注册时间或新闻评论。其中,所述垃圾词结点在识别后作为正文结点楼层划分的依据。其中,所述移动终端页面生成模块包括布局生成模块,适于将正文结点的内容按划分的楼层重新布局并生成移动终端页面。一种识别网页正文的方法,所述方法包括解析网页的源代码,对解析结果进行布局计算,生成网页的DOM树;从DOM树的根结点开始遍历,识别DOM树中的正文结点和/或垃圾词结点;对识别出的正文结点按网页的楼层进行划分。其中,所述DOM树的结点依据网页语言中的标签划分。其中,所述对识别出的正文结点按网页的楼层进行划分后,生成移动终端页面。其中,所述根结点为body结点。其中,所述网页的DOM树在生成后只保留网页的主体元素。其中,所述网页主体元素包括文本、图片链接和/或文本文字格式。其中,所述别DOM树中的正文结点和/或垃圾词结点的过程包括计算出每个网页页面的结点分布值、文本密度和/或垃圾词密度;对所述结点分布值进行分析得出每个网页页面的各结点构成情况,并将所述文本密度和/或垃圾密度与预设的对应阈值相比较;将上述文本密度和/或垃圾词密度落在对应阈值内的内容识别为正文。其中,所述结点分布值,表示一个结点的子结点构成情况,包括各种标签的个数以及标签占子结点的比例;所述文本密度,表示一个结点中的文本长度除以子结点个数得到的平均文本长度;所述垃圾词密度,表示一个结点中所有垃圾词的长度除以结点中所有文本长度的值。其中,所述垃圾词是基于词典进行识别的。其中,所述对识别出的正文结点按网页的楼层进行划分的方法如下依据正文结点在DOM树上的位置关系对楼层进行划分;和/或依据网页中的特征词对楼层进行划分。其中,所述依据正文结点在DOM树上的位置关系对楼层进行划分所依据的规则如下如果两个正文结点在DOM树上是相邻的,则这两个结点属于同一楼层; 如果一个正文结点和其它已判定属于同一楼层的正文结点有相同的父结点,则这些正文结点属于同一楼层;如果两个正文结点的的公共父结点为根结点,则两个正文结点划分为不同的楼层;以及,如果正文节点间的关系未包含在上述情况下,则划分为不同楼层。其中,所述特征词包括正文结点中的作者信息和/或非正文结点中的发表时间、注册时间或新闻评论。其中,所述垃圾词结点在识别后作为正文结点楼层划分的依据。其中,所述生成移动终端页面的过程为将正文结点的内容按划分的楼层重新布局并生成移动终端页面。本专利技术对于传统互联网网页的内容进行识别抽取后,可以有效地抽取出BBS正文、新闻正文及评论,并还原正文内容在原网页中的“分楼”展现特征,展现效果保持原“多楼”特征,以给用户提供优秀的阅读体验。附图说明图I是本专利技术系统的结构2是本专利技术方法的流程3是依据本专利技术所生成的一颗DOM树图4是依据图3的DOM树生成的移动终端网页示意图具体实施例方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例适于说明本专利技术,但不用来限制本专利技术的范围。本专利技术提供的系统的结构图如图I所示。网页解析布局模块100把网页源代码进行解析和布局计算。解析HTML源代码并布局时采用HTML解析引擎,常用的开源HTML解析引擎比如webkit。解析和布局依据网页源代码中的标签,可以依据但不限于div标签,生成网页的DOM树,并计算网页展现时各结点显示的位置和高度。生成的一颗DOM树如图3所示。由于在移动终端上,互联网网页的动态效果很难显示,故在生成DOM树的过程中需要将动态效果舍弃,只保留图片链接以及正文的文字格式。结点识别模块200对整个DOM树从body结点开始遍历,进行正文内容以及垃圾词内容的识别,其算法主要采用能够对数据规则进行归类的算法,典型的比如决策树算法。结点识别模块200包括统计模块,比较模块和正文识别模块。首先由统计模块计算出每个网页页面的结点分布值、文本密度和垃圾词密度;然后比较模块将结点分布值、文本密度和垃圾词密度与预设的阈值相比较;最后由正文识别模块300将DOM树中结点分布值、文本密度和垃圾词密度落在阈值内部分的内容识别为正文。 其中,结点分布,表示一个结点的子结点构成情况,如div、img、table等各种标签的个数、占子结点的比例情况;文本密度,表示一个结点中文本长度除以子结点数得到了平均文本长度;垃圾词密度(非正文词汇),表示一个本文档来自技高网...

【技术保护点】
一种识别网页正文的系统,其特征在于,所述系统包括:网页解析布局模块,适于解析网页的源代码,对解析结果进行布局计算,生成网页的DOM树;结点识别模块,适于从DOM树的根结点开始遍历,识别DOM树中的正文结点和/或垃圾词结点;楼层划分模块,适于对识别出的正文结点按网页的楼层进行划分。

【技术特征摘要】
1.一种识别网页正文的系统,其特征在于,所述系统包括 网页解析布局模块,适于解析网页的源代码,对解析结果进行布局计算,生成网页的DOM 树; 结点识别模块,适于从DOM树的根结点开始遍历,识别DOM树中的正文结点和/或垃圾词结点; 楼层划分模块,适于对识别出的正文结点按网页的楼层进行划分。2.如权利要求I所述的系统,其特征在于,所述DOM树的结点依据网页语言中的标签划分。3.如权利要求I所述的系统,其特征在于,所述系统包括移动终端页面生成模块,适于生成移动终端页面。4.如权利要求I所述的系统,其特征在于,所述根结点为body结点。5.如权利要求I所述的系统,其特征在于,所述网页的DOM树在生成后只保留网页的主体元素。6.如权利要求5所述的系统,其特征在于,所述网页主体元素包括文本、图片链接和/或文本文字格式。7.如权利要求I所述的系统,其特征在于,所述结点识别模块包括 统计模块,适于计算出每个网页页面的结点分布值、文本密度和/或垃圾词密度; 分析模块,适于对所述结点分布值进行分析得出每个网页页面的各结点构成情况,并将所述文本密度和/或垃圾密度与预设的对应阈值相比较; 正文识别模块,适于将上述文本密度和/或垃圾词密度落在对应阈值内的内容识别为正文。8.如权利要求7所述的系统,其特征在于, 所述结点分布值,表示一个结点的子结点构成情况,包括各种标签的个数以及标签占子结点的比例; 所述文本密度,表示一个结点中的文本长度除以子结点个数得到的平均文本长度; 所述垃圾词密度,表示一个结点中所有垃圾词的长度除以结点中所有文本长度的值。9.如权利要求I所述的系统,其特征在于,所述垃圾词是基于词典进行识别的。10.如权利要求I所述的系统,其特征在于,所述楼层划分模块包括 位置划分模块,适于依据正文结点在DOM树上的位置关系对楼层进行划分;和/或 特征词划分模块,适于依据网页中的特征词对楼层进行划分。11.如权利要求10所述的系统,其特征在于,所述位置划分模块进行划分所依据的规则如下 如果两个正文结点在DOM树上是相邻的,则这两个结点属于同一楼层; 如果一个正文结点和其它已判定属于同一楼层的正文结点有相同的父结点,则这些正文结点属于同一楼层; 如果两个正文结点的的公共父结点为根结点,则两个正文结点划分为不同的楼层; 以及,如果正文节点间的关系未包含在上述情况下,则划分为不同楼层。12.如权利要求10所述的系统,其特征在于,所述特征词包括正文结点中的作者信息和/或非正文结点中的发表时间、注册时间或新闻评论。13.如权利要求I所述的系统,其特征在于,所述垃圾词结点在识别后作为正文结点楼层划分的依据。14.如权利要求3所述的系统,其特征在于,所述移动终端页面生成模块包括 布局生成模块,适于将正文结点的内容按划分的楼层重新布局并生成...

【专利技术属性】
技术研发人员:陈营营
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1