XML、DOM 把XML文档视为一种树结构,这种树结构被称为节点树。以下是小编今天为大家精心准备的:浅谈基于DOM 树的信息推广平台设计相关论文。内容仅供参考,欢迎阅读!
浅谈基于DOM 树的信息推广平台设计全文如下:1引言随着“互联网+”时代的到来,信息的来源,可信度,及时度越来越受到人们的关注,但现在大多数的信息都是来自Web 网页,这样的信息多而杂,具网络资料显示,文本信息正以指数型式不断增长。为了节约时间,就有了基于Web 页面挖掘技术的产生。实现信息推送最好的选择就是微信公众平台。微信公众平台是最近几年新出的推送信息的一种新方式,它是腾迅公司在微信的基础上新增的功能模块,通过这一平台,个人和企业都可以打造一个微信的公众号,并实现和特定群体的文字、图片、语音的全方位沟通、互动。
2Web 页面挖掘如今Internet 上很多网页都是动态生成的,通过用户填写表单提交信息,动态的生成Deep Web 页面,与此同时用户提交的大量数据信息被保存在网站的后台数据库中。由于页面中数据记录之间的代码具有极高的结构相似性,因此Web 数据记录所对应的标签树之间自然也具有很高的相识性,所以网页往往具有相似的结构和局部代码重复性。因此数据的自动化提取则可以分为以下几个步骤:
(1)输入一些具有相同或相似结构的Web 页面。
(2)对这些Web 页面进行预处理,就是将一些与网页无关的内容进行删除,将代码结构不严谨的HTML 页面转换成结构严谨、易于处理的HTML 页面。
(3)将处理好的页面解析成以标签为队列的线性数据结构,接着利用标签队列的匹配去除页面中的广告,导航栏等。
(4)按照一些页面性质将网页中的标签归类成为一些小集合,然后对这些小集合的有效数据进行自动抽取,并自动生成该类的模版页。
3 DOM 标签树HTML 通过定义一套标签来刻画显示的页面。依据标签的作用可将HTML 的标签分为三类:
(1)规划网页布局的标签。在视觉上,我们都知道网页是由无数的方块嵌套在一起组成,而里面的内容则是由标签规划出来的。常用的标签有:<div> <p> <td> <tr> <table> </table> </tr> </td> </p> </div>等。
(2)描述显示特点的标签。在网页中常看到为了引起我们注意的不同格式文字,它们都是由一些标签规定的,这类标签称为信息标签。常用的有<b> <i> <strong> <h1> <h2> </h2> </h1> </strong> </i> </b>等。
(3)超链接相关的标签:超链接是网页区别于普通文本最明显的特征之一。它表示着网页间的关系,整理出超链接标签可以挖掘出网页间的相关内容。
4 部分功能与实现的步骤4.1HTML 的预处理
现在大多数的网站都是以HTML 文档形式向客户展开,每一个页面中的数据和格式都是以一组成对的“始标记”与“结束标记”组成。例如:<br> 和</br>,<body>,</body>和,, 等。在页面中的标签可以相互嵌套使用。为了避免网页不兼容、代码错误的现象可能导致的页面解析失败,我们可以先除去一些无用的标签,如:<from>,<select>,页面中的style 和注释等。
可以把预处理流程归纳为:
(1)获取THML 页面。
(2)将HTML 转换成XHTML。
(3)去除标签和无关脚本。
(4)去除导航栏,广告等无关数据。去除style 和注释可以分别用正则表达式<style (? s) .* ? </style>>( r n)? 和<! - -(? s) . * ? - ->( r n)?。去除广告,导航栏等信息的方法是主要将HTML 页面解析成标签树,在根据标签树中具有相同名称和属性的节点进行分析,判断该父节点及其以下的子节点是否相同,如果相同就从其父节点处删除。
4.2HTML 页面的解析
经过HTML 处理以后生成XHTML,使得Web 结构更加规整化。这样就更方便的判断其节点的类型,如果该节点是开始标签,那么就判断它的属性是否为空,如果不为空,则为开始标签删除其属性,直到仅剩下普通文本。再根据正则表达式提取我们所需要的信息。如果遇到该节点的结束标签,则进行下一个开始标签的分析,直至循环到该页面提取结束。
5 Dom 树与信息推送的联系Web 页面信息提取的过程也就是页面扩展DOM 树的创建过程。简单来说,DOM 树就是根据HTML 页面中标签的含义创建出来的具有层次关系的树状结构,树中的每一个节点都是对应于HTML 的标签,我们通过存取这些标签就能操作文档中的内容。
程序通过操作DOM 树,将众多页面中的客户需要知道的消息提取出来存入数据库,当用户在消息推送的微信公众号上查询想知道的信息时,消息就会从数据库中读出来展现在微信平台上。
6 结语选用DOM 树结构为Web 页面信息采集的核心技术,是因为DOM 易用性强,使用时,它可以将XML 文档信息都存于内存中,并且遍历简单,支持XPath,增强了通用性,对于开发软件较为容易。