CN102937958B - 一种基于不完全子树匹配的Web数据记录提取方法 - Google Patents
一种基于不完全子树匹配的Web数据记录提取方法 Download PDFInfo
- Publication number
- CN102937958B CN102937958B CN201210277173.9A CN201210277173A CN102937958B CN 102937958 B CN102937958 B CN 102937958B CN 201210277173 A CN201210277173 A CN 201210277173A CN 102937958 B CN102937958 B CN 102937958B
- Authority
- CN
- China
- Prior art keywords
- subtree
- data record
- tree
- incomplete
- label
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于不完全子树匹配的Web数据记录提取方法,包括如下步骤:根据HTTP协议下载网页的HTML源代码,并将下载的字符以统一的UNICODE进行编码;过滤噪声标记信息;利用NEKO或者HTMLParser之类的组件对HTML源代码进行解析,构造网页的Document树;候选子树集抽取;不完全子树匹配;数据记录集确定。本发明具基于子树的匹配,不依赖于网页的模板结构所以方法具有很高的通用性;通过标签过滤和候选子树集的确定,可以有效提高数据抽取过程的性能;基于截取的不完全子树匹配方法判断子树结构之间的相似性,可以有效地消除数据对模板进行填充后导致的结构性差异,提高数据记录提取的精度的优点。
Description
技术领域
本发明涉及一种基于不完全子树匹配的Web数据记录提取方法。
背景技术
随着互联网的高速发展,Web技术的不断改进,越来越多的机构和个人将信息发放到互联网。每天,互联网上都有成千上万的网页被生成,互联网已经成为了一个巨大的信息共享的“图书库”。如何从海量的Web信息中寻找、提取有效的数据信息成为了一个重要的课题。
HTML网页是互联网的一种最重要的数据格式,它是一个标签语言,在结合脚本、样式后,由浏览器进行显示。HTML本质是一种半结构化的语言,它适合被渲染后由人类进行浏览,但是却不利于由计算机程序对数据进行识别和抽取。在HTML标签的定义中,是没有语义方面的定义的,内容的展现组合很多,导致程序无法根据标签来判断某个标签的区域是数据区域、广告区域、还是版权声明区域等其他区域。如果过滤HTML网页中的噪声信息,获取所需的数据区域记录已经形成了一门研究课程。
Web信息的自动抽取,已有不少研究:
1.基于统计的方法
这种方法是针对新闻、博客等网页的正文提取类任务,有通过DOM树中的特定节点(Table、Div,P)等进行处理来得到网页有用信息,如:《基于统计的网页正文信息抽取方法的研究》中认为网页的正文信息一般存在于一个Table节点中,通过统计节点中文文字的信息得到特定的Table节点,提取其中的文字得到网页的有用正文。此类研究还有《基于标记窗的网页正文信息提取方法》等。
2.基于规则训练的抽取方法
此类方法是希望通过机器学习的方法获取数据抽取的规则,方法的步骤一般是要先标注训练集的网页的数据区域,由程序区自动的“学习”,在需要的情况下加以辅助的启发式规则,在实际的应用中应用训练出来的抽取器来提取新出现的网页的数据记录。
3.基于人工的特定网站的数据记录提取
此类方式一般是通过组件(比如标签解析器或者DOM树)解析HTML网页,然后编写专门的程序从特点的标签中抽取所需数据记录。
对Web网页的类型进行粗分大体上有三种:首页类型的链接列表网页,商品搜索结果类型的数据记录类型和新闻类型的正文类型网页。以上的研究对于不同类型的网页数据抽取都可能发挥其效果,比如对于新闻类的网站,基于统计的方法可能奏效;人工的方法对于特定的网站提取效果在精确度上优于任何自动的方法;基于规则的方法在具有大规模的训练集的前提下,提取数据的效果也不错。
本文针对的是商品搜索结果类型的数据记录提取,此类的网页一般包含较多的数据记录,典型的数据记录如:淘宝的商品搜索结果页面,论坛的帖子列表和回复列表页面,微博的页面等。典型页面数据记录区块如图4所示。
针对此类型的页面基于统计的方法已经不适用,因为统计的方法一般要利用较长文字的统计信息,而数据记录类型的网页不满足这一特点。基于规则的方法需要训练的数据集大,人工标注网页是一个相当耗费人力的过程,而且规则一般适用一个网站,对于多个网站的数据抽取要得到一个通用的,精确率高的规则是不现实的。当下,采用较多的方法是人工编写程序的方法,这种方法精确度较高,但是它的突出缺点是耗费人力比较大而且维护困难。针对每一个网站都必须编写相对应的抽取代码,在目标网站改版的情况下,程序失效不易察觉,察觉后还是需要更改代码。
发明内容
本发明所要解决的技术问题是提供一种基于不完全子树匹配的Web数据记录提取方法。
本发明是通过以下技术方案来实现的:一种基于不完全子树匹配的Web数据记录提取方法,包括如下步骤:
a.根据HTTP协议下载网页的HTML源代码,并将下载的字符以统一的UNICODE进行编码;
b.过滤噪声标记信息;
c.利用NEKO或者HTMLParser之类的组件对HTML源代码进行解析,构造网页的Document树;
d.候选子树集抽取;
e.不完全子树匹配;
f.数据记录集确定;
作为优选,所述噪声标记信息包括JavaScript脚本、CSS样式表、注释说明、部分无用标签和空内容标签。
作为优选,所述数据记录集的个数大于1,则还需要进行数据记录集的确定。
本发明的有益效果是:1.基于子树的匹配,不依赖于网页的模板结构所以方法具有很高的通用性;
2.通过标签过滤和候选子树集的确定,可以有效提高数据抽取过程的性能;
3.基于截取的不完全子树匹配方法判断子树结构之间的相似性,可以有效地消除数据对模板进行填充后导致的结构性差异,提高数据记录提取的精。
附图说明
为了易于说明,本发明由下述的具体实施例及附图作以详细描述。
图1为本发明的基于不完全子树匹配的Web数据记录提取方法的流程方框图;
图2为本发明的基于不完全子树匹配的Web数据记录提取方法的不完全子树示意图;
图3为本发明的基于不完全子树匹配的Web数据记录提取方法的树映射示意图;
图4为典型页面数据记录区块的示意图。
具体实施方式
如图1所示,本发明的一种基于不完全子树匹配的Web数据记录提取方法,包括如下步骤:
a.根据HTTP协议下载网页的HTML源代码,并将下载的字符以统一的UNICODE进行编码;
b.过滤噪声标记信息;
c.利用NEKO或者HTMLParser之类的组件对HTML源代码进行解析,构造网页的Document树;
d.候选子树集抽取;
e.不完全子树匹配;
f.数据记录集确定;
噪声标记信息包括JavaScript脚本、CSS样式表、注释说明、部分无用标签和空内容标签,过滤这些噪声信息可以防止噪声标签对分析造成影响,并加快方法的处理速度。
候选子树集的子树拥有共同的父节点,但不一定是兄弟节点、子树的根节点拥有共同的标签符号,在严格定义的情况下标签的属性必须相同、子树的节点数目必须大于一定阀值;候选子树集的抽取过程是为了抽取可能的数据记录集合,并且这个过程也可以对后续的过程减轻工作量。
确定多个候选子树集合的情况下,后续的步骤是进行候选数据记录集合的判定。候选数据记录集合是候选子树集合的子集。如果候选子树记录集合中的子树结构相似,则该集合为候选数据记录集合。
判断子树结构相似,我们采用的是不完全的子树匹配,算法采用的是简单树匹配算法;
如图2所示,不完全子树是指:在子树具有多层级的情况下,抽取根节点的最顶几层的节点,去除了叶节点等底层节点,所构成另一个不完全的子树;采用不完全子树进行匹配的原因是:数据记录是对模板的数据填充,叶节点等底层节点可能被数据影响(比如关键字高亮,用户自定义标签)导致节点的结构不匹配;
为了更好介绍算法,此处给出树映射的定义:
假设T为一棵树,则V(T)表示树T的节点集合。令A,B为两棵树,对于(va2,vb2)∈M,如果满足下面3个条件,则称M为A到B的一个映射;
(1)va1=vb1→va2=vb2;
(2)Ancestor(v)为v的祖先节
点集合;
(3)Left(v)为v的左边兄弟的节点集合;
如图3所示,条件(1)保证了一对一关系;条件(2)保证祖先关系;条件(3)保证兄弟关系。若映射M满足条件:存在(parent(va),parent(vb))∈M,其中va,vb是非根节点,则称映射M为A,B的一个匹配。具有最多有序对数目的匹配称为树A,B的最大匹配,记作MaxMatch(A,B)。简单树匹配算法利用动态规划的思想,寻找A,B的最大匹配。算法如下:
该算法的复杂度为O(n1n2),其中,n1,n2分别为A,B的节点个数,在节点数目较多的情况下复杂度比较高,前面步骤的标签过滤和不完全子树的截取和候选子树集的抽取可以有效降低步骤e的工作量。
经过步骤e,可以确定大多数的数据记录集,当数据记录集的个数大于1,则还需要进行数据记录集的确定;确定的方式方法用启发式的规则:数据记录集的数据记录条数较多;数据记录集的标签内含有文字长度长的节点,对于中文网页,含有中文的文字字符数多;数据记录集记录的树的节点数较多;通过规则的判断可以有效确定数据记录的集合。
本发明的有益效果是:
1.基于子树的匹配,不依赖于网页的模板结构所以方法具有很高的通用性;
2.通过标签过滤和候选子树集的确定,可以有效提高数据抽取过程的性能;
3.基于截取的不完全子树匹配方法判断子树结构之间的相似性,可以有效地消除数据对模板进行填充后导致的结构性差异,提高数据记录提取的精。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。
Claims (3)
1.一种基于不完全子树匹配的Web数据记录提取方法,其特征在于:包括如下步骤:
a.根据HTTP协议下载网页的HTML源代码,并将下载的字符以统一的UNICODE进行编码;
b.过滤噪声标记信息;
c.利用NEKO或者HTMLParser的组件对HTML源代码进行解析,构造网页的文档树;
d.候选子树集抽取;其中,候选子树集的子树拥有共同的父节点,子树的根节点拥有共同的标签符号,标签的属性相同,子树的节点数目大于一定阈值;
e.不完全子树匹配;其中,不完全子树为在子树具有多层级的情况下,抽取从子树的根节点开始的最顶几层节点且去除底层节点而构成的另一个不完全的子树;
f.数据记录集确定。
2.根据权利要求1所述的基于不完全子树匹配的Web数据记录提取方法,其特征在于:所述噪声标记信息包括JavaScript脚本、CSS样式表、注释说明、部分无用标签和空内容标签。
3.根据权利要求1所述的基于不完全子树匹配的Web数据记录提取方法,其特征在于:所述数据记录集的个数大于1,则还需要进行数据记录集的确定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210277173.9A CN102937958B (zh) | 2012-08-06 | 2012-08-06 | 一种基于不完全子树匹配的Web数据记录提取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210277173.9A CN102937958B (zh) | 2012-08-06 | 2012-08-06 | 一种基于不完全子树匹配的Web数据记录提取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102937958A CN102937958A (zh) | 2013-02-20 |
CN102937958B true CN102937958B (zh) | 2016-03-16 |
Family
ID=47696856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210277173.9A Active CN102937958B (zh) | 2012-08-06 | 2012-08-06 | 一种基于不完全子树匹配的Web数据记录提取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102937958B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111507071B (zh) * | 2020-04-17 | 2024-02-27 | 上海电气风电集团股份有限公司 | 风电场的编码方法、编码装置及计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727498A (zh) * | 2010-01-15 | 2010-06-09 | 西安交通大学 | 一种基于web结构的网页信息自动提取方法 |
CN102591612B (zh) * | 2011-12-27 | 2014-12-03 | 厦门市美亚柏科信息股份有限公司 | 一种基于标点连续性的通用网页正文提取方法及其*** |
-
2012
- 2012-08-06 CN CN201210277173.9A patent/CN102937958B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102937958A (zh) | 2013-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Vide: A vision-based approach for deep web data extraction | |
Zheng et al. | Template-independent news extraction based on visual consistency | |
US20090248707A1 (en) | Site-specific information-type detection methods and systems | |
CN102591612B (zh) | 一种基于标点连续性的通用网页正文提取方法及其*** | |
CN101727498A (zh) | 一种基于web结构的网页信息自动提取方法 | |
CN102270206A (zh) | 一种有效网页内容的抓取方法及装置 | |
CN102298638A (zh) | 使用网页标签聚类提取新闻网页内容的方法和*** | |
Pol et al. | A survey on web content mining and extraction of structured and semistructured data | |
CN102750390A (zh) | 新闻网页要素自动提取方法 | |
CN106021392A (zh) | 一种新闻关键信息的提取方法及*** | |
Ji et al. | Tag tree template for Web information and schema extraction | |
CN101582074A (zh) | 一种DeepWeb响应页面数据抽取方法 | |
CN103530429A (zh) | 一种网页正文抽取的方法 | |
CN105740355B (zh) | 基于聚集文本密度的网页正文提取方法及装置 | |
CN107145591B (zh) | 一种基于标题的网页有效元数据内容提取方法 | |
Yu et al. | Web content information extraction based on DOM tree and statistical information | |
CN106528509A (zh) | 网页信息提取方法及装置 | |
CN104572874B (zh) | 一种网页信息的抽取方法及装置 | |
CN106897287B (zh) | 网页发布时间抽取方法和用于网页发布时间抽取的装置 | |
CN102937958B (zh) | 一种基于不完全子树匹配的Web数据记录提取方法 | |
Wang et al. | Wrapper induction based on nested pattern discovery | |
Palekar et al. | Deep web data extraction using web-programming-language-independent approach | |
YesuRaju et al. | A language independent web data extraction using vision based page segmentation algorithm | |
Hernández et al. | Towards discovering conceptual models behind web sites | |
Zeleny et al. | Cluster-based Page Segmentation-a fast and precise method for web page pre-processing |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20130220 Assignee: Xiaoma Baoli (Xiamen) Network Technology Co.,Ltd. Assignor: XIAMEN MEIYA PICO INFORMATION Co.,Ltd. Contract record no.: X2023350000038 Denomination of invention: A Web data record extraction method based on incomplete subtree matching Granted publication date: 20160316 License type: Common License Record date: 20230301 |