CN102479181B - 基于div位置的网页正文抽取方法和装置 - Google Patents

基于div位置的网页正文抽取方法和装置 Download PDF

Info

Publication number
CN102479181B
CN102479181B CN201010553327.3A CN201010553327A CN102479181B CN 102479181 B CN102479181 B CN 102479181B CN 201010553327 A CN201010553327 A CN 201010553327A CN 102479181 B CN102479181 B CN 102479181B
Authority
CN
China
Prior art keywords
div
block
div block
web page
atom
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010553327.3A
Other languages
English (en)
Other versions
CN102479181A (zh
Inventor
吴晔
刘勋华
谢亨骏
李辉遒
郭玲
曹琳
万东
詹国强
刘舟
李晓佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN201010553327.3A priority Critical patent/CN102479181B/zh
Publication of CN102479181A publication Critical patent/CN102479181A/zh
Application granted granted Critical
Publication of CN102479181B publication Critical patent/CN102479181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于DIV位置的网页正文抽取方法和装置。其中,该方法包括利用HTML页面在DOM树中的DIV块信息重新构建DIV块;保留重新构建DIV块中的原子DIV块,原子DIV块为除其本身之外不包含任何其他DIV块的DIV块;对每个原子DIV块进行参数分析,根据分析结果选取出包含网页正文的DIV块;对包含网页正文的DIV块进行内容提取,以获取网页正文。本发明能够防止同一DIV块被重复分析,从而提高了分析效率。同时,根据每个原子DIV块的参数来选取包含网页正文的DIV块,以有效去除HTML网页中的噪音信息,在很大程度上提高了从HTML网页中获取正文信息的准确度。

Description

基于DIV位置的网页正文抽取方法和装置
技术领域
本发明涉及信息采集与处理技术领域,特别地,涉及一种基于DIV(Division)位置的网页正文抽取方法和装置。
背景技术
随着Internet及其技术的迅速发展,在Web上已经形成不计其数以HTML(Hyper Text Mark-up Language)形式存在的网页信息。但是,Web页面通常含有很多用户并不关心的信息,例如,广告、导航链接等噪音信息,它们分布在网页正文的四周,有的甚至嵌入到网页正文中。这些噪音信息给信息搜索、数据挖掘、机器翻译和文本摘要等信息研究带来诸多困难。因此,如何准确地从Web网页中提取正文信息,已经成为目前噬待解决的技术问题。
发明内容
本发明要解决的一个技术问题是提供一种基于DIV位置的网页正文抽取方法和装置,能够去除HTML网页中的噪音信息以准确地从HTML网页中提取正文信息。
根据本发明的一方面,提出了一种基于DIV位置的网页正文抽取方法,包括利用HTML页面在DOM(Document Object Model)树中的DIV块信息重新构建DIV块;保留重新构建DIV块中的原子DIV块,原子DIV块为除其本身之外不包含任何其他DIV块的DIV块;对每个原子DIV块进行参数分析,根据分析结果选取出包含网页正文的DIV块;对包含网页正文的DIV块进行内容提取,以获取网页正文。
根据本发明抽取方法的一个实施例,在对包含网页正文的DIV块进行内容提取之前,该方法还包括如果原子DIV块与包含网页正文的DIV块间隔预定间隙且位于包含网页正文的DIV块的正上方或正下方,则确定与包含网页正文的DIV块间隔预定间隙且位于包含网页正文的DIV块的正上方或正下方的DIV块为包含网页正文的DIV块。
根据本发明抽取方法的另一实施例,利用HTML页面在DOM树中的DIV块信息重新构建DIV块的步骤包括从HTML页面代码的起始处开始直至HTML页面代码的结束处获取两个DIV块开始标签之间的非DIV代码段;从HTML页面代码的起始处开始直至HTML页面代码的结束处获取两个DIV块结束标签之间的非DIV代码段;为获取的非DIV代码段补齐DIV块开始标签和DIV块结束标签。
根据本发明抽取方法的又一实施例,保留重新构建DIV块中的原子DIV块的步骤包括在重新构建DIV块中计算出每个DIV块相对页面BODY标签的层次值;根据计算出的层次值判断每个DIV块是否为原子DIV块;去除重新构建DIV块中的非原子DIV块。
根据本发明抽取方法的再一实施例,对每个原子DIV块进行参数分析,根据分析结果选取出包含网页正文的DIV块的步骤包括从多个原子DIV块中查找出横向宽度大于预定宽度的原子DIV块;从查找出的横向宽度大于预定宽度的原子DIV块中找出面积最大的DIV块作为包含网页正文的DIV块。
根据本发明抽取方法的再一实施例,在重新构建DIV块之前,该方法还包括过滤HTML页面中的Javascript代码和冗余标签。
根据本发明的另一方面,还提出了一种基于DIV位置的网页正文抽取装置,包括DIV块重构模块,用于利用HTML页面在DOM树中的DIV块信息重新构建DIV块;原子DIV块保留模块,与DIV块重构模块相连,用于保留重新构建DIV块中的原子DIV块,原子DIV块为除其本身之外不包含任何其他DIV块的DIV块;网页正文DIV块选取模块,与原子DIV块保留模块相连,用于对每个原子DIV块进行参数分析,根据分析结果选取出包含网页正文的DIV块;网页正文提取模块,与网页正文DIV块选取模块相连,用于对包含网页正文的DIV块进行内容提取,以获取网页正文。
根据本发明抽取装置的一个实施例,该装置还包括网页正文DIV块确定模块,分别与网页正文DIV块选取模块和网页正文提取模块相连,用于如果原子DIV块与包含网页正文的DIV块间隔预定间隙且位于包含网页正文的DIV块的正上方或正下方,则确定与包含网页正文的DIV块间隔预定间隙且位于包含网页正文的DIV块的正上方或正下方的DIV块为包含网页正文的DIV块。
根据本发明抽取装置的另一实施例,DIV块重构模块包括第一非DIV代码段获取单元,用于从HTML页面代码的起始处开始直至HTML页面代码的结束处获取两个DIV块开始标签之间的非DIV代码段;第二非DIV代码段获取单元,用于从HTML页面代码的起始处开始直至HTML页面代码的结束处获取两个DIV块结束标签之间的非DIV代码段;标签添加单元,分别与第一非DIV代码段获取单元和第二非DIV代码段获取单元相连,用于为获取的非DIV代码段补齐DIV块开始标签和DIV块结束标签。
根据本发明抽取装置的又一实施例,原子DIV块保留模块包括层次值计算单元,用于在重新构建DIV块中计算出每个DIV块相对页面BODY标签的层次值;原子DIV块判断单元,与层次值计算单元相连,用于根据计算出的层次值判断每个DIV块是否为原子DIV块;非原子DIV块去除单元,与原子DIV块判断单元相连,用于去除重新构建DIV块中的非原子DIV块。
根据本发明抽取装置的再一实施例,网页正文DIV块选取模块包括第一查找单元,用于从多个原子DIV块中查找出横向宽度大于预定宽度的原子DIV块;第二查找单元,与第一查找单元相连,用于从查找出的横向宽度大于预定宽度的原子DIV块中找出面积最大的DIV块作为包含网页正文的DIV块。
根据本发明抽取装置的再一实施例,该装置还包括无用信息过滤模块,与DIV块重构模块相连,用于过滤HTML页面中的Javascript代码和冗余标签。
本发明提供的基于DIV位置的网页正文抽取方法和装置,利用DOM树中的DIV块信息重新构建DIV块,并且保留原子DIV块,以防止同一DIV块被重复分析,从而提高了分析效率。同时,根据每个原子DIV块的参数来选取包含网页正文的DIV块,以有效去除HTML网页中的噪音信息,在很大程度上提高了从HTML网页中获取正文信息的准确度。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分。在附图中:
图1是本发明网页正文抽取方法的一个实施例的流程示意图。
图2是本发明实施例重新构建DIV块的示意图。
图3是本发明实施例保留原子DIV块的示意图。
图4是本发明实施例计算预定宽度的示意图。
图5是本发明网页正文抽取方法的另一实施例的流程示意图。
图6是本发明网页正文抽取方法的又一实施例的流程示意图。
图7是本发明网页正文抽取方法的再一实施例的流程示意图。
图8是本发明网页正文抽取方法的再一实施例的流程示意图。
图9是本发明抽取装置的一个实施例的结构示意图。
图10是本发明抽取装置的另一实施例的结构示意图。
图11是本发明抽取装置的又一实施例的结构示意图。
图12是本发明抽取装置的再一实施例的结构示意图。
图13是本发明抽取装置的再一实施例的结构示意图。
图14是本发明抽取装置的再一实施例的结构示意图。
具体实施方式
下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。本发明的示例性实施例及其说明用于解释本发明,但并不构成对本发明的不当限定。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
本发明的目的在于提供一种基于DIV位置的网页正文抽取方法和装置,能够解决基于DIV布局的网页正文抽取问题。
为了实现本发明的目的,引入了原子DIV块的概念:原子DIV块就是没有包含其它DIV块的DIV块。因此,可以将HTML页面定义为一个二元组Ω=(Φ,δ),其中,表示给定页面上的所有原子DIV块的集合,δ=(ζ1,ζ2,…,ζT)则定义了各个DIV块的排版属性,其中,可以包括DIV块四条边在页面中的绝对坐标值(即,xy坐标的坐标值)、DIV块的宽度和高度(例如,可以通过递归计算获得网页中DIV块的绝对坐标值和宽度与高度值)。为了使HTML页面符合上述定义,需要对页面的DIV块进行重新构建,并根据构建后的DIV块的位置关系,只保留原子DIV块,使页面上的DIV块在位置上不存在包含与重叠关系。对于一个符合上述定义的二元组的页面,对DIV块进行结构和位置分析,定位位于网页中位置最重要的DIV块,并抽取出网页正文。可选地,还可以通过扩展算法使正文抽取的准确率更高。
图1是本发明网页正文抽取方法的一个实施例的流程示意图。
如图1所示,该实施例可以包括以下步骤:
S102,由于HTML页面在浏览器中是由DOM进行描述的,DOM中包含许多可以用于分析和模式匹配的有效信息,在DIV布局的网页中,DOM模型由多个DIV块组成,DIV块作为一个容器,可以用来存放页面的文字和图片信息,网页正文就存在DIV块之中,同时,在网页正文的四周还可能分布着各种噪音信息,因此,可以利用HTML页面在DOM树中的DIV块信息对HTML页面重新构建DIV块,从而为网页中的每一段零散代码的两端都加上一对DIV标签,以保证网页中的各个独立区域都被一个DIV块所包含;
举例说明,可以从HTML页面代码的起始处开始直至HTML页面代码的结束处获取两个DIV块开始标签之间的非DIV代码段;例如,可以使用正则表达式,从网页代码中获取所有包含在两个DIV开始标签<div*>之间,且不包含</div>标签的代码;
从HTML页面代码的起始处开始直至HTML页面代码的结束处获取两个DIV块结束标签之间的非DIV代码段;例如,可以获取所有包含在两个DIV开始标签</div>之间,且不包含<div*>标签的代码;
为获取的非DIV代码段补齐DIV块开始标签和DIV块结束标签;即,为找到的每一个代码段的两端分别加上一对DIV标签,使其被包含在一个DIV块中。
图2是本发明实施例重新构建DIV块的示意图。
如图2所示,左侧为重新构建前的HTML页面,右侧为重新构建后的HTML页面,在构建过程中,为两个非DIV代码段分别添加了DIV块的开始标签和结束标签。
S104,每个DIV块的排版属性由外部的层叠样式表(CascadingStyle Sheets,CSS)进行定义和控制,通常情况下,网页上的DIV块在位置上存在很多包含关系,甚至重叠关系,这样就会造成DIV块被重复分析,从而降低了分析的效率,因此,为了使页面中的DIV块彼此之间在位置上不存在包含和重叠关系以防止被重复分析,可以去除重新构建DIV块中的非原子DIV块,保留其中的原子DIV块,原子DIV块为除其本身之外不包含任何其他DIV块的DIV块(如图2中的DIV块E、F、G或H),从而实现页面中的DIV块在位置上都彼此独立,不存在包含和覆盖关系,使DIV块符合步骤S106分析的需要,并且还可以避免DIV块被重复分析,以提高分析效率;
举例说明,可以在重新构建DIV块中计算出每个DIV块相对页面BODY标签的层次值;根据计算出的层次值判断每个DIV块是否为原子DIV块;去除重新构建DIV块中的非原子DIV块;
继续以图2为例进行说明,为了使页面中的DIV彼此之间在位置上没有存在包含和覆盖关系,重新构建后的各DIV块(包括DIV块A~H)的属性值发生了变化,可以重新从DOM树中计算出各个DIV块相对页面BODY标签的层次值。通过观察层次值可以很清晰地判断出一个DIV块是否包含有其他DIV块。在图2中,从最外层DIV开始,按自上而下的顺序(即,DIV块从A->B->C->E->G->F->H->D的顺序),DIV块的层次值依次为1->2->2->3->3->3->3->2。从层次值序列可以看出,DIV块A和DIV块C由于其右边元素的层次值大于其自身的层次值,所以它们里面还包含有其他DIV块,故作为非原子DIV块不予保留。经上述处理之后,各个DIV块的层次值都已全部变为1,即,均成为原子DIV块。其变化过程如图3所示。
S106,对每个原子DIV块进行参数分析,根据分析结果选取出包含网页正文的DIV块;
从大量网页的统计分析数据可以看出,包含网页正文的DIV块一般符合下述两个条件:(1)在横向方向上,其横跨所有原子DIV块覆盖区域的一半以上;(2)在面积上,其面积是所有原子DIV块中面积最大的。具体地,可以循环取出每个原子DIV块,分别验证每个DIV块是否符合上述条件(1),若符合,则将其放置到一个数组A中,遍历完毕后,对数组A中的DIV块再按照面积从大到小的顺序进行排序,取出面积最大的DIV块,并放入数组B中。
举例说明,可以从所有原子DIV块中查找出横向宽度大于预定宽度的原子DIV块;其中,预定宽度可以是覆盖HTML页面中所有原子DIV块宽度的长度的一半,换句话说,如果在HTML页面中建立xy坐标轴,以左下脚为坐标原点,覆盖HTML页面中所有原子DIV块宽度的长度Max_Width就是最左侧的原子DIV块的左侧边的x轴坐标值与最右侧的原子DIV块的右侧边的x轴坐标值之差,如图4所示;
从查找出的横向宽度大于预定宽度的原子DIV块中找出面积最大的DIV块作为包含网页正文的DIV块。
S108,对包含网页正文的DIV块进行内容提取,以获取网页正文。
该实施例利用DOM树中的DIV块信息重新构建DIV块,并且保留原子DIV块,以防止同一DIV块被重复分析,从而提高了分析效率。同时,根据每个原子DIV块的参数来选取包含网页正文的DIV块,以有效去除HTML网页中的噪音信息,在很大程度上提高了从HTML网页中获取正文信息的准确度。
图5是本发明网页正文抽取方法的另一实施例的流程示意图。
如图5所示,该实施例可以包括以下步骤:
S202,利用HTML页面在DOM树中的DIV块信息重新构建DIV块,即,将页面中的DIV块完整化和标准化。
S204,保留重新构建DIV块中的原子DIV块,以消除页面中DIV块之间的包含与重叠关系,其中,原子DIV块为除其本身之外不包含任何其他DIV块的DIV块。
S206,对每个原子DIV块进行参数(例如,宽度和面积)分析,根据分析结果选取出包含网页正文的DIV块,以实现对包含网页正文DIV块的定位。
S208,如果原子DIV块与包含网页正文的DIV块间隔预定间隙且位于包含网页正文的DIV块的正上方或正下方,则确定与包含网页正文的DIV块间隔预定间隙且位于包含网页正文的DIV块的正上方或正下方的DIV块为包含网页正文的DIV块;
举例说明,如果网页正文都集中存放在一个大的DIV块中,那么上述实施例的数组B中包含的就是网页正文的DIV块,然而,还有很多网页是以多个宽度相同的DIV块进行纵向布局的,彼此之间有一定的间隙,因此,为了使网页正文的抽取准确率更高,可以设定一个间隙阀值T,先从数组A中取出一个DIV块,如果该DIV块与数组B中的DIV块在坐标轴上处于上下关系,即,位于正上方间隔T处或者正下方间隔T处(例如,可以通过两个DIV块的相邻边的y轴坐标的差值与T判断),则可以将该DIV块加入数组B,否则丢弃。如此循环直到数组A为空。此时,数组B中的元素就是包含网页正文DIV块集合,对这些DIV块中的内容(可以是文字信息或图片信息)进行提取,组合之后即可获取网页正文。
S210,对包含网页正文的DIV块进行内容提取,以获取网页正文。
该实施例与上述实施例相比,由于考虑了多种页面设计格式,从而使得网页正文的提取准确率更高。
图6是本发明网页正文抽取方法的又一实施例的流程示意图。
如图6所示,该实施例可以包括以下步骤:
S302,过滤HTML页面中的无关代码,例如,Javascript代码和冗余标签;
在HTML页面代码中,除了包含用户可见的页面内容外,一般还包含一些诸如Javascript代码和冗余标签等用户并不关心的内容,为了得出一个结构代码较为简洁的页面,可以先对上述代码进行过滤。
S304,利用HTML页面在DOM(Document Object Model)树中的DIV块信息重新构建DIV块。
S306,保留重新构建DIV块中的原子DIV块,原子DIV块为除其本身之外不包含任何其他DIV块的DIV块。
S308,对每个原子DIV块进行参数分析,根据分析结果选取出包含网页正文的DIV块。
S310,对包含网页正文的DIV块进行内容提取,以获取网页正文。
该实施例与上述实施例相比,由于引入无关代码过滤机制,为网页正文抽取的后续步骤提供了简洁且清晰的代码,因此,在很大程度上提高了网页正文的抽取效率。
图7是本发明网页正文抽取方法的再一实施例的流程示意图。
如图7所示,在远程获取一个HTML页面的源代码之后,经下述步骤使其成为符合上述网页二元组定义的网页:
S402,过滤HTML页面中的Javascript代码和冗余标签;
S404,利用HTML页面在DOM(Document Object Model)树中的DIV块信息重新构建DIV块;
S406,保留重新构建DIV块中的原子DIV块,原子DIV块为除其本身之外不包含任何其他DIV块的DIV块;
S408,对每个原子DIV块进行参数分析,根据分析结果选取出包含网页正文的DIV块;
S410,如果原子DIV块与包含网页正文的DIV块间隔预定间隙且位于包含网页正文的DIV块的正上方或正下方,则确定与包含网页正文的DIV块间隔预定间隙且位于包含网页正文的DIV块的正上方或正下方的DIV块为包含网页正文的DIV块;
S412,对包含网页正文的DIV块进行内容提取,以获取网页正文。
图8是本发明网页正文抽取方法的再一实施例的流程示意图。
如图8所示,该实施例可以包括以下步骤:
S502,远程获取页面;
S504,过滤页面中的无关代码;
S506,从HTML代码的起始处开始直至结束处重新构建DIV块;
S508,计算每个DIV块的层次值;
S510,保留原子DIV块;
S512,获取DIV块的属性;
S514,过滤无效的非原子DIV块;
S516,对保留下的DIV块的参数进行分析;
S518,查找与包含网页正文的DIV块间隔预定间隙且位于包含网页正文的DIV块的正上方或正下方的DIV块,作为包含网页正文的DIV块;
S520,提取每个包含网页正文的DIV块的内容;
S522,将提取出的内容进行组合,以获取完整的网页正文。
图9是本发明抽取装置的一个实施例的结构示意图。
如图9所示,该实施例的抽取装置10可以包括:
DIV块重构模块11,用于利用HTML页面在DOM树中的DIV块信息重新构建DIV块;
原子DIV块保留模块12,与DIV块重构模块11相连,用于保留重新构建DIV块中的原子DIV块,原子DIV块为除其本身之外不包含任何其他DIV块的DIV块;
网页正文DIV块选取模块13,与原子DIV块保留模块12相连,用于对每个原子DIV块进行参数分析,根据分析结果选取出包含网页正文的DIV块;
网页正文提取模块14,与网页正文DIV块选取模块13相连,用于对包含网页正文的DIV块进行内容提取,以获取网页正文。
该实施例针对流行的DIV网页布局,基于网页实际视觉效果,利用浏览器DOM树中DIV块的信息,通过DIV块的重新构建、保留原子DIV块以及DIV块的参数分析来实现网页正文的抽取,不仅有效去除了HTML网页中的噪音信息,而且在很大程度上提高了从HTML网页中获取正文信息的准确度。
图10是本发明抽取装置的另一实施例的结构示意图。
如图10所示,与图9中的实施例相比,该实施例的抽取装置20还包括:
网页正文DIV块确定模块21,分别与网页正文DIV块选取模块13和网页正文提取模块14相连,用于如果原子DIV块与包含网页正文的DIV块间隔预定间隙且位于包含网页正文的DIV块的正上方或正下方,则确定与包含网页正文的DIV块间隔预定间隙且位于包含网页正文的DIV块的正上方或正下方的DIV块为包含网页正文的DIV块。
该实施例与上述实施例相比,由于考虑了多种页面设计格式,从而使得网页正文的提取准确率更高。
图11是本发明抽取装置的又一实施例的结构示意图。
如图11所示,与图9中的实施例相比,该实施例的抽取装置30中的DIV块重构模块31包括:
第一非DIV代码段获取单元311,用于从HTML页面代码的起始处开始直至HTML页面代码的结束处获取两个DIV块开始标签之间的非DIV代码段;
第二非DIV代码段获取单元312,用于从HTML页面代码的起始处开始直至HTML页面代码的结束处获取两个DIV块结束标签之间的非DIV代码段;
标签添加单元313,分别与第一非DIV代码段获取单元311和第二非DIV代码段获取单元312相连,用于为获取的非DIV代码段补齐DIV块开始标签和DIV块结束标签。
该实施例为网页中的每一段零散代码的两端都加上一对DIV标签,以保证网页中的各个独立区域都被一个DIV块所包含,以保证网页正文的有效抽取。
图12是本发明抽取装置的再一实施例的结构示意图。
如图12所示,与图9中的实施例相比,该实施例的抽取装置40中的原子DIV块保留模块41可以包括:
层次值计算单元411,用于在重新构建DIV块中计算出每个DIV块相对页面BODY标签的层次值;
原子DIV块判断单元412,与层次值计算单元411相连,用于根据计算出的层次值判断每个DIV块是否为原子DIV块;
非原子DIV块去除单元413,与原子DIV块判断单元412相连,用于去除重新构建DIV块中的非原子DIV块。
该实施例能够避免网页中的DIV块被重复分析,以提高分析效率。
图13是本发明抽取装置的再一实施例的结构示意图。
如图13所示,与图9中的实施例相比,该实施例的抽取装置50中的网页正文DIV块选取模块51包括:
第一查找单元511,用于从多个原子DIV块中查找出横向宽度大于预定宽度的原子DIV块;
第二查找单元512,与第一查找单元511相连,用于从查找出的横向宽度大于预定宽度的原子DIV块中找出面积最大的DIV块作为包含网页正文的DIV块。
图14是本发明抽取装置的再一实施例的结构示意图。
如图14所示,与图9中的实施例相比,该实施例的抽取装置60还包括:
无用信息过滤模块61,与DIV块重构模块11相连,用于过滤HTML页面中的Javascript代码和冗余标签。
该实施例由于引入无关代码过滤机制,为网页正文抽取的后续步骤提供了简洁且清晰的代码,因此,在很大程度上提高了网页正文的抽取效率。
本发明的上述实施例能够克服现有技术的不足,可以应用于网页数据采集及挖掘等信息处理领域,实现算法简单、直观、而且具有较低的实现复杂度,正文抽取精确率可以高达94%以上,具有很高的通用性和精确性。
此外,本发明还可以应用于互联网的信息安全监控领域,例如,可以对城域网以及IDC托管服务器中的页面进行分析以保证信息的安全;还可以用于用户行为分析,例如,可以通过分析用户访问的页面内容了解用户的兴趣爱好,还可以针对性地对用户进行广告投放。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。

Claims (8)

1.一种基于DIV位置的网页正文抽取方法,其特征在于,包括:
利用HTML页面在DOM树中的DIV块信息重新构建DIV块;
保留所述重新构建DIV块中的原子DIV块,所述原子DIV块为除其本身之外不包含任何其他DIV块的DIV块;其中,保留所述重新构建DIV块中的原子DIV块的步骤包括:在所述重新构建DIV块中计算出每个DIV块相对页面BODY标签的层次值;根据计算出的层次值判断每个DIV块是否为所述原子DIV块;去除所述重新构建DIV块中的非原子DIV块;
对每个原子DIV块进行参数分析,根据分析结果选取出包含网页正文的DIV块;
对所述包含网页正文的DIV块进行内容提取,以获取网页正文;
其中,所述利用HTML页面在DOM树中的DIV块信息重新构建DIV块的步骤包括:
从所述HTML页面代码的起始处开始直至所述HTML页面代码的结束处获取两个DIV块开始标签之间的非DIV代码段;
从所述HTML页面代码的起始处开始直至所述HTML页面代码的结束处获取两个DIV块结束标签之间的非DIV代码段;
为获取的非DIV代码段补齐DIV块开始标签和DIV块结束标签。
2.根据权利要求1所述的方法,其特征在于,在对所述包含网页正文的DIV块进行内容提取之前,所述方法还包括:
如果原子DIV块与所述包含网页正文的DIV块间隔预定间隙且位于所述包含网页正文的DIV块的正上方或正下方,则确定与所述包含网页正文的DIV块间隔预定间隙且位于所述包含网页正文的DIV块的正上方或正下方的DIV块为包含网页正文的DIV块。
3.根据权利要求1所述的方法,其特征在于,对每个原子DIV块进行参数分析,根据分析结果选取出包含网页正文的DIV块的步骤包括:
从多个原子DIV块中查找出横向宽度大于预定宽度的原子DIV块;
从查找出的横向宽度大于预定宽度的原子DIV块中找出面积最大的DIV块作为所述包含网页正文的DIV块。
4.根据权利要求1所述的方法,其特征在于,在重新构建DIV块之前,所述方法还包括:
过滤所述HTML页面中的Javascript代码和冗余标签。
5.一种基于DIV位置的网页正文抽取装置,其特征在于,包括:
DIV块重构模块,用于利用HTML页面在DOM树中的DIV块信息重新构建DIV块;
所述DIV块重构模块包括:
第一非DIV代码段获取单元,用于从所述HTML页面代码的起始处开始直至所述HTML页面代码的结束处获取两个DIV块开始标签之间的非DIV代码段;
第二非DIV代码段获取单元,用于从所述HTML页面代码的起始处开始直至所述HTML页面代码的结束处获取两个DIV块结束标签之间的非DIV代码段;
标签添加单元,分别与所述第一非DIV代码段获取单元和所述第二非DIV代码段获取单元相连,用于为获取的非DIV代码段补齐DIV块开始标签和DIV块结束标签;
原子DIV块保留模块,与所述DIV块重构模块相连,用于保留所述重新构建DIV块中的原子DIV块,所述原子DIV块为除其本身之外不包含任何其他DIV块的DIV块;
其中,所述原子DIV块保留模块包括:
层次值计算单元,用于在所述重新构建DIV块中计算出每个DIV块相对页面BODY标签的层次值;
原子DIV块判断单元,与所述层次值计算单元相连,用于根据计算出的层次值判断每个DIV块是否为所述原子DIV块;
非原子DIV块去除单元,与所述原子DIV块判断单元相连,用于去除所述重新构建DIV块中的非原子DIV块;
网页正文DIV块选取模块,与所述原子DIV块保留模块相连,用于对每个原子DIV块进行参数分析,根据分析结果选取出包含网页正文的DIV块;
网页正文提取模块,与所述网页正文DIV块选取模块相连,用于对所述包含网页正文的DIV块进行内容提取,以获取网页正文。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
网页正文DIV块确定模块,分别与所述网页正文DIV块选取模块和所述网页正文提取模块相连,用于如果原子DIV块与所述包含网页正文的DIV块间隔预定间隙且位于所述包含网页正文的DIV块的正上方或正下方,则确定与所述包含网页正文的DIV块间隔预定间隙且位于所述包含网页正文的DIV块的正上方或正下方的DIV块为包含网页正文的DIV块。
7.根据权利要求5所述的装置,其特征在于,所述网页正文DIV块选取模块包括:
第一查找单元,用于从多个原子DIV块中查找出横向宽度大于预定宽度的原子DIV块;
第二查找单元,与所述第一查找单元相连,用于从查找出的横向宽度大于预定宽度的原子DIV块中找出面积最大的DIV块作为所述包含网页正文的DIV块。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括:
无用信息过滤模块,与所述DIV块重构模块相连,用于过滤所述HTML页面中的Javascript代码和冗余标签。
CN201010553327.3A 2010-11-22 2010-11-22 基于div位置的网页正文抽取方法和装置 Active CN102479181B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010553327.3A CN102479181B (zh) 2010-11-22 2010-11-22 基于div位置的网页正文抽取方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010553327.3A CN102479181B (zh) 2010-11-22 2010-11-22 基于div位置的网页正文抽取方法和装置

Publications (2)

Publication Number Publication Date
CN102479181A CN102479181A (zh) 2012-05-30
CN102479181B true CN102479181B (zh) 2015-10-07

Family

ID=46091831

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010553327.3A Active CN102479181B (zh) 2010-11-22 2010-11-22 基于div位置的网页正文抽取方法和装置

Country Status (1)

Country Link
CN (1) CN102479181B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779170B (zh) * 2012-06-25 2015-01-07 北京奇虎科技有限公司 一种识别网页正文楼层的系统和方法
CN102779169A (zh) * 2012-06-27 2012-11-14 江苏新瑞峰信息科技有限公司 一种基于html标签的网页正文提取方法及装置
CN103577171B (zh) * 2012-07-30 2018-11-13 腾讯科技(深圳)有限公司 一种显示网页内容的方法和移动终端
CN103577466B (zh) * 2012-08-03 2017-02-15 腾讯科技(深圳)有限公司 一种在浏览器中显示网页内容的方法和装置
CN103020129B (zh) * 2012-11-20 2015-11-18 中兴通讯股份有限公司 一种文本内容提取方法和装置
CN103761257B (zh) * 2013-12-30 2017-09-22 优视科技有限公司 基于移动浏览器的网页处理方法及系统
CN105808569A (zh) * 2014-12-30 2016-07-27 北京奇虎科技有限公司 一种提供搜索摘要服务的方法和装置
CN106855859B (zh) * 2015-12-08 2020-11-10 北京搜狗科技发展有限公司 一种网页正文提取方法及装置
CN105740423B (zh) * 2016-01-29 2019-02-15 浪潮软件集团有限公司 一种抽取正文的方法及装置
CN107203527B (zh) * 2016-03-16 2019-06-28 北大方正集团有限公司 新闻网页的正文抽取方法和系统
CN106648821B (zh) * 2016-12-29 2020-02-11 北京奇艺世纪科技有限公司 一种网页优化方法及装置
WO2019090738A1 (zh) * 2017-11-10 2019-05-16 深圳市华阅文化传媒有限公司 净化网络小说页面的方法与装置
CN109271598B (zh) * 2018-08-01 2021-03-12 数据地平线(广州)科技有限公司 一种抽取新闻网页内容的方法、装置及存储介质
CN109725965A (zh) * 2018-12-13 2019-05-07 平安普惠企业管理有限公司 层叠样式表维护方法、装置、计算机设备及存储介质
CN109885814A (zh) * 2019-03-04 2019-06-14 上海携程商务有限公司 数据表图形生成系统、方法、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101408898A (zh) * 2008-11-07 2009-04-15 北大方正集团有限公司 一种提取网页正文的方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101408898A (zh) * 2008-11-07 2009-04-15 北大方正集团有限公司 一种提取网页正文的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《一种通用HTML网页主题信息提取方法》;许文等;《现代图书情报技术》;20071231(第1期);见正文第41-43页,图1-4 *
《基于模板的Web信息自动提取方法》;郑长松等;《计算机应用研究》;20090228;第26卷(第2期);正文第570-572、582页 *

Also Published As

Publication number Publication date
CN102479181A (zh) 2012-05-30

Similar Documents

Publication Publication Date Title
CN102479181B (zh) 基于div位置的网页正文抽取方法和装置
CN102663023B (zh) 一种提取网页内容的实现方法
CN101937438B (zh) 网页内容提取方法和装置
Cai et al. Vips: a vision-based page segmentation algorithm
CN102253979B (zh) 基于视觉的web页面萃取方法
CN103853760B (zh) 一种网页正文内容提取方法和装置
CN103473338B (zh) 网页内容抽取方法和网页内容抽取系统
CN103927397B (zh) 一种基于区块树的Web页面链接块的识别方法
CN105022803B (zh) 一种提取网页正文内容的方法及系统
CN103052950A (zh) 用于过滤网页内容的系统和方法
CN102915361B (zh) 一种基于文字分布特征的网页正文提取方法
CN102184189A (zh) 基于dom节点文本密度的网页核心块确定方法
CN106503211B (zh) 面向信息发布类网站的移动版自动生成的方法
CN104572934B (zh) 一种基于dom的网页关键内容抽取方法
CN103294781A (zh) 一种用于处理页面数据的方法与设备
CN102651002A (zh) 一种网页信息抽取方法及其系统
CN103942211B (zh) 一种正文页的识别方法及装置
CN105740355B (zh) 基于聚集文本密度的网页正文提取方法及装置
CN107590288B (zh) 用于抽取网页图文块的方法和装置
CN102999511A (zh) 一种页面快速转换方法、装置和系统
US10198408B1 (en) System and method for converting and importing web site content
CN104572874B (zh) 一种网页信息的抽取方法及装置
CN106897287B (zh) 网页发布时间抽取方法和用于网页发布时间抽取的装置
CN103488743B (zh) 网页元素抽取方法和网页元素抽取系统
CN105550279A (zh) 基于视觉的列表页识别方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant