欢迎来到天天文库
浏览记录
ID:30822101
大小:212.66 KB
页数:19页
时间:2019-01-03
《查询接口发现算法研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第二章查询接口发现算法研究对于从网页中抽取出所需的查询接口来说,能够有效地解决从众多的表单中去抽取出所需的査询接口是首要的问题,是极其重要的一个环节。如上所述,DeepWeb査询接口的发现对DeepWeb数据集成有着重要的意义,对査询接口的准确判别能够使DeepWeb数据集成更加准确和高效。简单说来,DeepWeb查询接口发现就是从网页中抽取出表单信息,然后提取出表单特征,利用提取的特征对表单分类,进而实现DeepWeb的查询接口发现。2.1相关问题描述2.1.1DOM文档对象模型DOM(DocumentObjectModel,文档对象模型)是
2、W3C定义的一种标志规范,它指定了解析文件的接口。其它语言可以依照DOM规范实现这些接口,得出解析文件解析器。DOM规范中所指的文件范围非常广泛,XML文件和HTML文件都包含其中。符合D0M规范的解析器需按照规范在内存中存储数据,树模型是DOM规范中的核心。处理由HTML和XML编写的网页信息是DOM的主要目标。2.1.1.1DOM表示的HTML文档在D0M中,HTML文档被采用树模式在内存中存储,标签被作为书的根节点,
3、的叶节点,这样整个HTML文档就构成了一棵按照D0M规范组成的D0M树。比如源文件如下:
4、rm>将上面的html文档解析生成一棵DOM树结构的结果如果3-1所示:从上面的图可以看出,HTML的标签成为了D0M树中的节点,节点是D0M中的基本元素,正是节点构成了D0M的整个结构-节点树,因此,以节点为对象的操作构成了对节点数操作的主体,接下来就分析下如何对节点树进行操作。2.1.1.2DOM对文档对象的操作在D0M树结构中,每个节点都被当做一个对象看待,每个对象都有属于自己的方法以及属性,通过这些方法和属性就可以方便地遍历整棵树,也可以方便地修改以及查询其内容。表2-1中列出HTML中常用的几种节点类型:表
5、2-1HTML中常用节点类型接口nodeType类型nodeType值说明ElementNode.ELEMENT.NODE1元素惦;TextNode.TEXT.NODE3文本节点DocumentNode.DOCUMENT.NODE9文档惦;CommentNode.COMMENTJODE8注禅节点AttrNode.AHRIBUTE_NODE2DocumentFragmentNode.DOCUMENTFRAGMENTNODE11文档片断惦DOM树中的节点的属性有两种,分别是只读和读写属性。可以浏览节点并査询节点类型和名称等的是只读属性,读写属性则更
6、进一步,不但可以查询节点信息,还可以访问文字节点的内容。表3-2列出了节点对常见属性,表3-3则给出了节点对象常见方法。2.1.2网页表单的启发式规则研究从网页表单的结构特征就可以进行是否是DeepWeb查询接口的判别,但如果对每个表单都进行相同的判断,就可能存在许多不必要的操作,这是因为某些表单所具有的某些特征可以很明显的判断出不是DeepWeb査询接口,如果对这些表单还进行通常的操作会加很多不必要的麻烦。应用启发式判断可以尽早地去掉肯定不是DeepWeb查询接口的表单,这样的话在减少资源开销的同时又提高了效率以及准确性。通过分析各种类型表单
7、已经掌握了一些表单是否是查询接口的规律【】,显然的,查询接口表单中必须有<form>标签,因为查询接口必须能输入信息然后提交,反之没有〈form〉标签的直接排除,这样就可以排除相当大部分的网页。其余的就是内含表单的网页,它们的表单类型有几大类:登录表单、注册表单、写发邮件表单、搜索引擎表单、论坛讨论表单和查询接口表单。其中登录表单和注册表单会要求输入密码,它们的〈form〉中会有password控件,但查询接口是面向公众访问的,不需要password控件,因此可以排除带有password控件的表单。写发邮件和论坛讨论需要用户发表长短不一的文字,
8、表单中需含有textarea控件,但査询接口只需输入关键字或选择就可以,不需要大段的文字输入,通常不含有该控件。而对搜索引擎来说,它们的表单一般只有一
此文档下载收益归作者所有