基于视觉的web页面萃取方法

文档序号:6426909阅读:122来源:国知局
专利名称:基于视觉的web页面萃取方法
技术领域
本发明涉及一种web页面萃取方法,尤其涉及一种基于视觉分析对web页面进行分解,从中提取有价值数据的web页面内容萃取方法,属于网页信息采集技术领域。
背景技术
目前,随着互联网的高速发展,web网络已经成为世界上最大的信息来源。web网络的发展给人类生活带来了巨大的方便,人们可以跨越时间和空间界限来共享大量信息。 但是,整个web网络是由无数的web页面构成的。web页面的海量性、多样性、动态性和半结构化等特性增加了对其内容进行自动处理的难度。如何有效获取这些web页面中的内容为我们所用仍然是大家面临的共同问题。在专利号为ZL 200410057064. 1的中国发明专利中,富士通株式会社提出了一种网页信息块提取装置和方法。在该发明中,首先生成网页的结构信息块树,并对结构信息块进行分类归并和合并,对结果块的语义进行标记,从而根据内容和功能把网页分割为信息块。根据该技术方案,网页处理的粒度从整个页面扩展为页面内的信息块,使网页更容易由机器处理。在申请号为200910139745. 5的中国发明专利申请中,富士通株式会社进一步提出了一种网页内容提取方法和装置,其中该网页内容提取方法包括如下步骤对网页的图片进行视觉布局分析,以将所述图片分割为至少一个布局块;对每个布局块进行光学字符识别,以生成所述布局块的识别文本;对所述网页进行分析,以建立所述网页的文档对象模型树;利用所述文档对象模型树中的文本节点的真实文本与所述布局块的识别文本之间的对应关系,将所述文档对象模型树中的每个文本节点映射到所述布局块之一中;以及至少利用所述布局块在所述网页中的位置信息来提取所述网页的正文内容。该技术方案开创性地融合了图像布局分析和自然语言处理的相关技术,形成了一个全自动、高效、准确的网页内容提取方案。另外,在专利号为ZL 200810066432. 7的中国发明专利中,腾讯公司也提出了一种互联网网页清洗方法。该方法包括下述步骤分析输入的网页,对网页标签内容自动纠错,建立文档对象模型树;保留所述文档对象模型树中具有表示内容的HTML的块元素结点,生成与所述文档对象模型树对应的结构块树;在所述结构块树的基础上按照定义的网页类型对输入的网页进行分类;根据输入的网页所属的网页类型,对其进行语义块分析,提取并输出重要块及其文本信息。

发明内容
本发明所要解决的技术问题在于提供一种基于视觉分析的web页面萃取方法。该方法利用视觉因素对web页面进行分析,可以有效提取web页面中的有价值数据。为实现上述的发明目的,本发明采用下述的技术方案一种基于视觉分析的web页面萃取方法,其特征在于包括如下步骤
(1)确认web页面中给定的网页地址已经下载完成,并且经完整展示后生成DOM 树;(2)基于所述DOM树将web页面拆分成在视觉上无法进一步拆分的块元素;(3)从主体块在所述DOM树中对应的根节点出发,遍历各个视觉块在所述DOM树中对应的块节点,从而获得所述web网页中的有价值数据。其中,在步骤(1)中,在web页面中的IFame、Frame已经下载完成,所需要的 JavaScriptXSS已经下载完成,图片参数已经获得且Ajax已经执行完成的情况下,进入步骤(2)。所述步骤O)中,根据所述DOM树中的标签名称决定所述块元素是否进行拆分。或者,根据边框内容决定所述块元素是否进行拆分。或者,根据背景色决定所述块元素是否进行拆分。或者,根据标签内部是否有明确的分割条决定所述块元素是否进行拆分。所述步骤⑵中,对于标签名称一样、类别相同,字体、字号、字重、颜色都相似的相似块进行合并。所述步骤(3)中,在有价值数据为标题的情况下,对块节点中包括长度、字号、字重、对齐方式、文本长度在内的各项内容进行分别加权,认定其中权值最大的视觉块为标题块。所述步骤(3)中,在有价值数据为正文的情况下,首先以所述标题块为基础向下扫描,直到扫描到明确的结束块或者扫描完主体块为止;其次,推测统计文字信息;再次,找到符合统计要求的主体字符,以背景与主体块背景一致的字符作为正文的开始,接着遍历所述标题块在所述DOM树中对应节点的兄弟节点,在满足预设条件后认为找到正文的结尾处;最后,合并正文开始处到结尾处为正文块。所述预设条件为①字符覆盖是否达到主体字符的90%以上,②是否有明确的分割线,③是否是分页块;在上述三个条件均为满足的情况下认为满足预设条件。本发明所提供的web页面萃取方法能够充分使用web页面本身的视觉因素,并结合DOM树进行页面语义分块,不仅有效弥补了现有技术中仅使用DOM树所带来的一些问题, 而且显著提高了 web页面萃取的效率和质量。


下面结合附图和具体实施方式
对本发明作进一步的详细说明。图1为本发明的一个实施例中使用的资讯网页截图;图2为使用本web页面萃取方法提取网页中标题的操作流程图;图3为使用本web页面萃取方法提取网页中正文的操作流程图。
具体实施例方式当用户观察web页面的时候,他总是自然而然地将一个语义块作为一个单一对象来看待,而不会关心web页面的内部结构是如何描述的。另一方面,用户在分辨web页面的语义块的时候,通常情况下会使用一些视觉因素来进行帮助,例如背景颜色、字体颜色和大小,字重、边框等等。如果能够充分使用web页面本身的视觉提示,并结合DOM(文档对象模型)树进行页面语义分块,可以有效弥补仅使用DOM树所带来的一些问题。这就是本发明所提供的web页面萃取方法的基本思路,下面对此展开详细的说明。实施本web页面萃取方法的前提条件是给定的网页地址(url)已经下载完成,并且经完整展示后生成DOM树。这其中具体包括如下内容> IFame、Frame等已经下载完成IFame是指web页面中内嵌的框架,Frame是指web页面中的框架。由于待分析的部分内容在Frame里面,因此必须要等待IFame、Frame等下载完成。>所需要的JavaScript、CSS已经下载完成这是因为CSS (Cascading Style Sheets,层叠样式表)会严重影响web页面的可视化元素,JavaScript ( 一种广泛用于客户端web开发的脚本语言,常用来给web页面添加动态功能)会部分影响web页面的数据。>图片参数已经获得该要求的主要目的是分析图片的长宽等参数。> Ajax已经执行完成Ajax 全称为 Asynchronous JavaScript and XML (异步 JavaScript 禾口 XML),是一种创建交互式网页应用的网页开发工具。Ajax会影响web页面中部分内容的生成。在上述步骤完成之后,接下来的工作是生成web页面的视觉块。该视觉块的生成过程遵循如下的逻辑顺序DOM树一块元素一相似块合并一逻辑块合并一过滤块操作DOM是Document Object Model (文档对象模型)的缩写。根据W3C DOM规范,DOM 是一种与浏览器、平台、语言无关的接口,使得用户可以访问web页面的其他标准组件。DOM 树是指由文档对象模型生成的树状结构。块元素是指将html格式的web页面拆分成的块状结构。每一个块元素在视觉上无法进一步拆分。块元素的内部属性应该相似的,例如都是文本、链接或者图片等。生成块元素的拆分原则为>根据DOM树中的标签名称来决定是否进行拆分例如Block类型通常进行拆分,Inline类型通常不进行拆分。如果Block类型的标签内部都是文本节点,不含有其他的Block类型,则无需拆分。>根据边框内容决定是否拆分例如内部只是列表和文字,没有其他更小的矩形框,不进行拆分;内部还存在更小的局限边框,或者是背景色反差比较大,有明确的分割条,进行进一步拆分。>根据背景色决定是否拆分例如背景色反差比较大,且面积较大,进行进一步拆分;反之不拆分。>根据标签内部是否有明确的分割条决定是否拆分例如如果一个标签内有明确的分割条,或者内部有一条细线,或者有一整条背景色比较深,或者有背景图片、图片看上去是一条线,则遇到这种标签需要继续进行拆分。>由于IFrame的特殊性,在分析的时候可能预先不知道其宽高,且不能像其他节点那样进行遍历,故需要进行拆分。生成块元素后,为了进行内容信息分析,需要将相似块进行合并。相似块是指标签的名称一样、类别相同,字体、字号、字重、颜色都非常相似。例如资讯的正文通常都是由许多
标签组成,如果正文的主标签内部有相关新闻列表或者评论的区域,相应的块元素中会有大量相互联系的
标签,可以根据各自的特性进行合并。另外,两个块元素的标签在视觉上可能完全不相同,但是它们之间有信息逻辑关系。这种情况称为逻辑块,例如>标题块、正文块,逻辑合并就是正文主体块;>标题块、列表内容块,逻辑合并就是列表主体块;>图片块、短文本块,逻辑合并就是图片信息块;为了降低运算的维度,逻辑块生成后需要对没有内容块及层数过深的块进行裁剪。裁剪的结果称为过滤块。本发明中所说的视觉块是进行DOM树一块元素一相似块合并一逻辑块合并一过滤块操作等之后,生成的HLDOM树,用绘图方式将叶子节点画出来的结果。对于相似块合并之后的视觉块可以进一步进行基于信息内容的块定义,例如页眉块、页脚块、正文主体块、相关链接块、作者块、过滤块等。逻辑块是在进行相似块合并后, 视觉块开发者根据关注点所在,对合并块进行信息逻辑组合后生成的视觉块。过滤块是属于视觉块的,只是对某个视觉块开发者认为是杂质的就定义为过滤块。例如将视觉块高度小于17个像素的定义为过滤块;将版权声明块定义为过滤块等。需要说明的是,对于任何web页面块元素而言,相似块是必然存在的。过滤块是视觉块开发者对不需要关注的视觉块的定义,因此并不是必然存在的。表1显示了在生成视觉块的过程中,影响分块的一些具体因素。
权利要求
1.一种基于视觉分析的web页面萃取方法,其特征在于包括如下步骤(1)确认web页面中给定的网页地址已经下载完成,并且经完整展示后生成文档对象模型树;(2)基于所述文档对象模型树将web页面拆分成在视觉上无法进一步拆分的块元素;(3)从主体块在所述文档对象模型树中对应的根节点出发,遍历各个视觉块在所述文档对象模型树中对应的块节点,从而获得所述web网页中的有价值数据。
2.如权利要求1所述的基于视觉分析的web页面萃取方法,其特征在于所述步骤(1)中,在web页面中的IFame、Frame已经下载完成,所需要的Javakript、 CSS已经下载完成,图片参数已经获得且Ajax已经执行完成的情况下,进入所述步骤O)。
3.如权利要求1所述的基于视觉分析的web页面萃取方法,其特征在于所述步骤O)中,根据所述文档对象模型树中的标签名称决定所述块元素是否进行拆分。
4.如权利要求1所述的基于视觉分析的web页面萃取方法,其特征在于 所述步骤O)中,根据边框内容决定所述块元素是否进行拆分。
5.如权利要求1所述的基于视觉分析的web页面萃取方法,其特征在于 所述步骤O)中,根据背景色决定所述块元素是否进行拆分。
6.如权利要求1所述的基于视觉分析的web页面萃取方法,其特征在于所述步骤O)中,根据标签内部是否有明确的分割条决定所述块元素是否进行拆分。
7.如权利要求1所述的基于视觉分析的web页面萃取方法,其特征在于所述步骤⑵中,对于标签名称一样、类别相同,字体、字号、字重、颜色都相似的相似块进行合并。
8.如权利要求1所述的基于视觉分析的web页面萃取方法,其特征在于所述步骤(3)中,在有价值数据为标题的情况下,对块节点中包括长度、字号、字重、对齐方式、文本长度在内的各项内容进行分别加权,认定其中权值最大的视觉块为标题块。
9.如权利要求8所述的基于视觉分析的web页面萃取方法,其特征在于所述步骤(3)中,在有价值数据为正文的情况下,首先以所述标题块为基础向下扫描, 直到扫描到明确的结束块或者扫描完主体块为止; 其次,推测统计文字信息;再次,找到符合统计要求的主体字符,以背景与主体块背景一致的字符作为正文的开始,接着遍历所述标题块在所述文档对象模型树中对应节点的兄弟节点,在满足预设条件后认为找到正文的结尾处;最后,合并正文开始处到结尾处为正文块。
10.如权利要求9所述的基于视觉分析的web页面萃取方法,其特征在于所述预设条件为①字符覆盖是否达到主体字符的90%以上,②是否有明确的分割线,③是否是分页块;在上述三个条件均为满足的情况下认为满足预设条件。
全文摘要
本发明公开了一种基于视觉分析的web页面萃取方法,包括如下步骤(1)确认web页面中给定的网页地址已经下载完成,并且经完整展示后生成文档对象模型树;(2)基于文档对象模型树将web页面拆分成在视觉上无法进一步拆分的块元素;(3)从主体块在文档对象模型树中对应的根节点出发,遍历各个视觉块在文档对象模型树中对应的块节点,从而获得web网页中的有价值数据。本方法能够充分使用web页面本身的视觉提示,并结合文档对象模型树进行页面语义分块,显著提高了web页面萃取的效率和质量。
文档编号G06F17/30GK102253979SQ20111017153
公开日2011年11月23日 申请日期2011年6月23日 优先权日2011年6月23日
发明者王东胜 申请人:天津海量信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1