一种基于dom的web信息提取方法

一种基于dom的web信息提取方法

ID:26753877

大小:50.50 KB

页数:5页

时间:2018-11-29

一种基于dom的web信息提取方法_第1页
一种基于dom的web信息提取方法_第2页
一种基于dom的web信息提取方法_第3页
一种基于dom的web信息提取方法_第4页
一种基于dom的web信息提取方法_第5页
资源描述:

《一种基于dom的web信息提取方法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、一种基于DOM的Web信息提取方法摘要文章提出一种基于DOM的节点对应关系,判断所获得信息源是否适用于已有提取模式。关键词;XPath;XSLT;基于DOM的网页结构判断1引言[1]的提取信息,并进行相关信息源的搜索,实现信息的精确定位。2基本思想本文的基本思想是:将不够规范的HTML文档整理成格式良好的XHTML[2]文档,再将XHTML文档解析成一个树模型——DOM树,然后围绕DOM树进行信息的提取以及相似结构网页的搜索,提取的结果以XML文档表示,并进行结构化存储。如图1所示:图1设计思想以下是对各

2、个处理步骤的分析说明:2.1整理HTML用一对预定义的标记来描述包含在其间文本的表现方式,要求标记成对出现。事实上,有许多HTML文档中的标记不符合HTML语法要求,比如缺乏结束标记等。这些错误影响对HTML文档的正确解析,因此,为便于解析,首先要对HTML文档进行整理,将其转换成XHTML文档,XHTML严格建立在XML基础之上,并且明确定义了格式良好的文档规则。这样就可以像对待一般XML文档一样对待XHTML文档,可以利用各种XML标准技术来操纵XHTML文档。对HTML文档的整理主要是以下三个方面:

3、(1)为不成对的标记加上结束符“/”,例如<br>加上结束符为<br/>;(2)为所有属性值加上引号,例如,<ahref=.entObjectModel,DOM),它根据文档中标记之间的嵌套关系,将文档表示为一个树形结构,文档中的元素、属性、以分析的字符数据、(3)信息块内信息点定位确定了样本集合中信息块的定位路径之后,可以通过在信息块内先序遍历得到具体信息点的定位路径,这个定位路径用XPath[3]表示。2.3.2提取信息利用归纳学习得到的XPath,编写XSLT[4]文档

4、,就可以根据该文档转换DOM中的节点,生成一个XML文档,这个XML文档中只保留XPath指定的节点,从而完成信息提取。2.4相似网页搜索生成的提取模式可以重用于结构相似的网页,因此,需要判断所搜集的网页是否适用于已有提取模式。本文提出利用DOM判断所搜集网页是否与样本结构相似,进而确定是否可利用已有模式提取所搜集网页中的信息。2.4.1判断相似网页从一个网页到DOM的转换来看,网页中的元素都是以嵌套关系转换成为DOM树中的节点,每个元素在DOM树中都有固定位置的节点对应,可以将这个转换过程抽象成一个函数

5、:设网页标记E和DOM树节点N是两个集合,一个从E到N的函数f记为:E—>N,是一个满足以下条件的关系:对每一个eE,都存在唯一的nN,使<e,n>f,记作f(e)=n,E是函数f的前域,N是函数f的陪域。在表达式f(e)=n中,e是函数的自变元,n是对应于自变元e的函数值。从函数的定义可以看出,如果f(e)=n­1,f(e)=n2,那么n1=n2。也就是说,一个自变元在一个特定函数下,有唯一的函数值与之对应。利用这种关系可以推断出一个网页标记集合按照嵌套关系只能影射为一个DOM

6、树,这样,判断两个网页结构是否相似可以转换为判断两个网页解析得到的DOM树是否相似。算法描述如下:先序遍历测试网页的节点列表NodeList1;获得NodeList1的长度Length1;先序遍历样本网页的节点列表NodeList2;获得NodeList2的长度Length2;if(Length1=Length2){for(i=1;i<=Length1;i++){取得NodeList1的第i个节点Node1i;取得Node1i的节点名NodeName1i;取得NodeList2的第i个节点Node2

7、i;取得Node2i的节点名NodeName2i;if(NodeName1i不同于NodeName2i){returnfalse;break;}}retuentrue;}else{returnfalse;}2.4.2搜集相似网页本文设计了结合判断网页结构的爬虫算法,来完成相关信息源的搜集。算法描述如下:/*****初始化****/设定搜索深度Depath;设定当前搜索深度currentDepath;从初始URL取回种子网页;从种子网页中取出所有URL,存入URL列表urlList;取得样本网页DOM树的结

8、点列表nodeList1;/*****搜索网页*****/for(currentDepath<=Depath;currentDepath++){if(urlList!=NULL){以先进先出方法从URL列表中取出一个URL;从该URL取回测试网页存入网页库;解析该网页生成测试DOM树;获得该DOM树的节点列表nodeList2;if(nodeList1与nodeList2相同){从该测试网页取出所有URL存入urlLis

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。