admin 管理员组

文章数量: 1184232


2024年4月20日发(作者:repeat out)

维普资讯

190 2007.43(2) Computer Engineering and Applications计算机工程与应用 

网上表格数据到XML的自动转换 

张 瑞 。李石君’ 

ZHANG Rui1.2,LI Shi-jun 

1.武汉大学计算机学院,武汉430072 

2.新汶矿业集团职工大学,山东莱芜271100 

1.School of Computer,Wuhan University,Wuhan 430072,China 

2.Xinwen Mining Industry Group Employees’University,Laiwu,Shandong 27 1 100,China 

E—mail:shjli@whu.edu.cn 

ZHANG Rui,LI Shi.j咖.Automatic conversion of HTML tobies Into XML.Computer Engineering and Applications, 

2007,43(2):190—192. 

Abstract:A large amount of information available on the Web is formatted in HTML tables,which are not content—oriented,and 

are not suitable for understanding and query by machines.In this paper,we normalize the HTML tables by inserting redundant 

cells into them according the attributes of HTML tables.For some HTML tables without marked headings we recognize its head— 

ings by using the measure of formatting information.By capturing the attribute-value pairs according to the headings and their 

corresponding data cells based on the normalized table,we present the new approach to automatically convert HTML tables into 

XML documents. 

Key words:HTML table;information extraction;Web;XML 

摘要:互联网上有大量信息采用HTML表格表示,由于HTML不描述数据的内客,机器不能理解和查询。论文利用HTML表格属 

性.在表格中插入冗余单元。使HTML表格规范化;对没有标志表 的HTML表格,采用格式化的信息的量化值识别网上表格的表 

头。在此基础上,提出了通过获取表格属性与值对应的语义层次,自动转换HTML表格数据为XML文挡的新方法。 

关键词:HTML表格;信息提取;Web;XML 

文章编号:1002—8331(2007)02—0190—03 文献标识码:A 中图分类号:TP311.135 

1 引言 

转换无标志表头的HTML表格。文献[7,8】研究了深网(deep 

互联网上有大量信息采用表格表示.这些表格主要基于 

Web)中隐藏Web数据库的表格数据提取和集成的问题。 

HTML。由于HTML只描述数据怎样显示,不描述数据的内容。 

网上表格由若干行组成,每一行叉由许多单元组成。表的 

再加上互联网上表格的复杂多样性,使得理解互联网上表格十 

单元一般用 元素表示表头单元.用 元素表示数据单元。单 

分困难。网上表格的自动理斛对网上信息检索、集成、挖掘、信 

元可能跨越多个行和列.头可能包含行头和列头。这种结构比 

息综合概要并向移动设备的发送等有着重要的实际应用意义, 

传统的关系数据库的表结构复杂得多。虽然HTML表格不表 

近来得到了一些学者和研究机构的关注,发表了一些研究文 

示数据的内容.但却包含了重要的结构信息。叮利用单元格可 

献。主要采用的方法有手工编写代码的方法、机器学习方法和 

能占用多行多列属性,采用通过向表巾插人冗余的单元格,使 

启发式自动化方法。这些方法各有特点,手_『:编写代码方法表 

表格规范化,即使表格的每一行部具有相同数目的对齐的 元 

达能力强,但需要用户编写复杂的代码.且由于网页经常变化 

格。对没有标志表头的HTML表.关键在于识刖表头。为了让 

而维护困难 机器学习方法_Il J用归纳学习方法产生抽取Web 

用户容易识别,一般会采用一些格式化的信息如字体(字号.粗 

信息的包装器.对发生变化的网页或归纳学习时没有覆盖的网 

体)等来表示表头。因此可以采用格式化的信息的量化值来识 

页格式,需要重新学习。本体论方法 I是一种很有前景的方法。 

别网上表格的表头。网上表格的被规范化后。表格的各个数据 

这里主要问题是如何有效地创建本体。目前,在该方面创建本 

单元和其相应的表头属忡被一一确定.凶此可以根据表义和的 

体的T作大多需部分手丁T作。半自动的方法利用格式信息半 

单元格数据来理解表格的属性值对。并且通过各个数据单元和 

自动地抽取Web结构信息,该方法只能抽取部分HTML表格。 

其相应的表头属性的对应关系,可以将规范化后的HTML表 

启发式自动化方法_5.61提出了一种抽取表格数据的自动方法.它 

中的属性值对映射成相应的XML文档。并采用递归函数形式 

没有给出具有嵌套的表头结构的表格的转换方法.并且它不能 

地表示该映射。递归方法最适合一层一层理解网上嵌套表格内 

基金项目:湖北省自然科学基金资助项目(2o05ABA238);国家自然科学基金资助项目(6o273O72)。 

作者俺介:张瑞(1981一),男,助教,硕士研究生,主要研究领域为Web与数据库技术;李石君(1964一)。男。博士,教授,主要研究领域为Web与数据 

库技术、信息集成。 

维普资讯

张 瑞,李石君:网上表格数据到XML的自动转换 191 

容,而不论表格嵌套多深。 

2 HTML表的规范化 

在HTML文档中,表由table元素表示,一般由一个标题和 

许多行组成,每一行又由许多单元组成。表的单元一般用 元 

素表示头部信息,包括行头和列头;用 元素表示数据。表的 

单元可能占用多行或多列。如果一个 或 元素中包含属性 

colspan=n,则表示该 或 元素的单元多占了后面的n一1行 

单元的位置;如果一个 或 元素中包含属性rowspan=It.则 

表示该 或 元素的单元多占了后面的n一1列单元的位置。 

例1以下是HTML表格片断: 

<table border=“l'’><caption><era>Population Statistics</era></ 

eaption><tr><th rowspan=…2’> 

<th colspan=…2’>Average<th rowspan= 2’>Ratio 

<tr><th>Height<fl ̄>Weight 

<tr><th>Males<td>1.78<td>75<td>40.46% 

<tr><th>Females<td colspan: 2>Not available<td>4O.34%</ 

tbale> 

在例1的HTML表格定义中,第一行第一列的单元格占 

用两行,第一行第二列的单元格占用两列。例1的HTML表格 

显示如表1所示 

寝1 Population Statistics 

—— 

!塑|e Rati。 

Height Weisht 

Male8 1.78 75 40.46% 

Fem81e8 Not available 40.34% 

表1显示了嵌套的表头和占用多行多列的单元的复杂结 

构。为了获取属性值对.需要对它进行规范化。设一个HTML 

表格包含m行和n列,它的第一个数据单元(第一个标志用 

元素表示的单元)在第k+l行和第p+1列。如果一个 或 

元素没有colspan或rowspan属性’,则给该元素添加属性 

colspan=1或rowspan=l,以方便表的规范化过程。使用rowspan 

和colspan属性,向表格中插人冗余单元,使表格的每一行都具 

有相同数目的对齐的单元格的规范化算法描述如下: 

For表格每一行 

For表格每一列 

if该单元的属性rowspan--n 

Then在该行插入n个同样的单元 

If该单元的属性colspan=n 

Then在该列捕入n个同样的单元 

End for 

End for 

采用以上规范化算法后.任一HTML表格都可规范化为 

表2形式。 

裹2 HTML寝格的规范化形式 

^ll肿】 … ^1.H 

i ; 

叶l … 

+1… .1. 

: : 

l … 

 .

表2中有k行的列头,P列的行头,其中0≤|i}≤m,0≤P≤ 

It,某些单元可能是空值。如果k≠0和P≠0。则称之为二维表, 

否则为一维表。当k=O时,称之为列式表(column wise);当p=O 

时,称之为行式表(row_wise)。例如,例1中定义的表格可以被 

规范化为表3,其中k=2,p=l,包含2行列头和1列行头。是二 

维表。 

衰3衰1的规范化衰 

3识别HTML表的表头 

对于一些HTML表格,表格作者没有按HTML语法采用 

加表示表头(行头和列头),而采用 既表示表头又表示数据。 

要转换这些没有标志表头的H1ML表,关键在于识别表头。表 

格作者为了让用户容易识别,一般会采用一些格式化的信息来 

表示表头。从最重要到最不重要的格式化信息是:字体(字号。 

粗体),冒号,缩进,字体(face,颜色)。可以采用格式化的特征 

值来区分表头和数据。为此。需要计算每行每列的格式化平均 

特征值。因为现实中作者会用不同的格式信息表示表头和表中 

的数据单元。所以可以用每行每列的特征值的不同来识别表 

头。在HTML表格中。先假设每个单元格的特征值都为0,每个 

单元格的字号是k,在此假设下定义每个单元的特征值A 

如下: 

定义1若单元格的字号是n.则: 

A=A+(n—k)*10;若单元格是粗体,则: 

A=A+10;若单元格的face是斜体的。则: 

A=A+I;每一行或每一列的特征值是在这行或者这列的所 

有单元格的平均特征值。 

计算完每行每列的特征值后,由于表中表头部分和数据部 

分的格式差异最大,即表头部分和数据部分的分界线处特征值 

差异最大,由此f 到识别表头的规则如下: 

假设一HTML表有m行和n列.且m个行的特征值对应 

的是A “,A 。设相邻的两行之间的差是A , ,…,A 其 

中AI(i+I) A -AⅢ,,i=1,…,m一1。设A (I+1)=max(Al2, ∞,…,A(m—1) 

),并且A <A ,其中1≤f≤ 。则前k行是列头。 

表的行头的识别和列的识别类似。即计算每列的特征值, 

再求出相邻两列特征值差的最大值。找到列头和数据的分 

界线。 

对于二维表,采用以上方法可识别行头和列头;对于一维 

列式表只需采用识别列头的方法识别列头:对于一维行式表只 

需采用识别行头的方法识别行头。 

4规范化表格转换为XML 

基于HTML表格的规范化表(表2),表格的各个数据单元 

和其相应的表头属性被一一确定,因此可以根据表头和的单元 

数据来理解表格的属性值对,并采用XML表示理解的HTML 

表格的属性值语义层次。即将规范化后的HTML表中的属性 

值对映射成相应的XML元素。以上映射过程可形式化表示为 

如下规则: 

规则1假设HTML表 的规范化表是表2,它的标题元 

素是c,并且包含数据的行是 +l’ ,…, ,其中0≤|i}≤m。则: 

维普资讯

192 2007.43(2) Computer Engineering and Applications计算机工程与应用 

</population—statistics> 

qP(T)=<c> (rh1)0 (r“。)…011"(rm)</c>,其中, 

(rf)= l,1>…< ;,p> 

<hl +1>…<hk +l> 

本文采用Java实现了文中提出的方法的原形系统,并 

对实际Web站点www.motorzoo.COB,www.autoscek.CO.uk,www. 

caf8ea坤h.corn,www.bobhowardhonda.COllq,WWW.carquote。com, 

.叶1) 

</hk 1>…< 1

. 

> 

classiifeds.autos.yahoo.com等中Web表格进行了实验。实验采 

用查全率和查准率两个指标,平均查全率达到95%以上,查准 

牢达到9O%以上。实验效果较好。其中查全率采用“被正确转 

换为XML文档的表格属性值对总个数/表格属性值对总个数” 

计算,查准率采用“被正确转换为XML文档的表格属性值对总 

个数/被转换为XML文档的表格属性值对总个数”计算。 

<^1

 .

<hk

JI> 

d1. ) 

</ 

. 

</h1

. 

<Ivl

, 

1> 

<Iv 

其中“0”是一个把两个字符串连接的操作, (,,)是一个把 

ltTML表格转换成相应的XML文档的函数。若d是非表格的 

单元数据,则 (T)---d。 

由于规范化过程中插入了冗余单元。因此转换后的XML 

5 结论 

本文提出了一种自动转换HTML表格为XML文档的新方 

法。该方法利用HTMI 表格属性,在表格中插人冗余单元,使 

HTML表格规范化;对没有标志表头的HTML表格,采用格式 

文档包含有冗余的元素。为此,提出以下合并机制。来合并相同 

的XML元素的内容,以消除冗余。 

合并规则: 

<t1><t2>s2</t2></t1><f1><t3>s3</t3></tl>=ql> 2 2< 

化的信息的量化值识别网上表格的表头。该方法既利用了 

HTML表格的格式化信息又利用了其蕴涵的结构信息,自动获 

取HTML表格的语义层次。适用于没有标出表头信息的HTML 

表格和复杂的嵌套表格。(收稿日期:2006年9月) 

/t2><t3>s3</t3></tl> . 

规则1不仅适用于二维表,而且适用于一维表。在使用规 

则l的时候,如果tag的名字是 ̄(nul1),只需要去掉这个tag 

参考文献: 

【1】Kushmerick N,Weld D,Doorenbos R.Wrapper induction for infer— 

和对应的结束tag(例如,如果 = ,那么 >= ,< >=妒)。 

例2利用规则l中的转换规则,再利用合并舰则把aver. 

age元素的内容合并后得到如下XML文档: 

<populatlon-statistics> 

mation extraction[C]//Proc IJCAI,1 997, 

【2】胡东东,需小峰.一种基于树结构的Web数据自动提取方法【J1l计算 

机研究与发展,2004,41(10):1607—1613. 

【3】3 Embley D W,Tao C.Liddle S W.Automatically extracting ontologi- 

<males> 

<average> 

eally speciifed data from HTML table of unknown structure[C]// 

ER 20o2.20o2:322-337. 

<height>1.78</height> 

<weight>75</weight> 

</avemge> 

【4】高军.王腾蛟,杨冬青,等.基于Ontology的Web内容二阶段半自动 

提取方法U】.计算机学报,2004,27(3):310—318. 

【5 Li5】m S J.Ng Y K,Yang X.Integrating HTML tables using semantic 

hierarchies and meta—data sets[C]//IDEAS 20o2.20o2:160一l69. 

【6】Yang Y,Luk W S.A framework for Web table mining[C]//WIDM’ 

02.2002:36—42. 

<ratio>40.46%</ratio> 

</males> 

<females> 

<average> 

【7】Lerman K,Getoor L,Minton S,et a1.Knoblock:using the structure 

<height>not available</height> 

<weight>not available</weight> 

</average> 

of el,sites for automatic segmentation of tablea[C]//Proc Sig- 

mod,2004:l19一l3O. 

【8】He Haj,Meng Wei-yi,Yu C T,et a1.WISE—IlltP#rHt0r:a system for 

extracting anti integratlng complex Web search interfaces of the 

<ratio>40.34%</ratio> 

</females> 

deep Web[C]//Pme VLDB,2005:1314-1317. 

(上接l59贝) 

l2l Pn ̄,s J.Joint spame forms and generating zero columns when 

gers,CORR 2001_4l .Centre for Applied Cryptographic Research. 

20o1. 

combing,CORR 2003—23 fR】.Centre for Applied Cryptographie Re— 

search.2003. 

【4J ElGamal T.A public-key cryptosystem and a signature scheme 

based on discrete logarithms[J].IEEE Transactions on Information 

Theory,1985,31:469-472. 

【3 Soli3】nas J A.Low-weight binary representations for pairs of inte・ 


本文标签: 表格 方法 表头