[发明专利]基于DOM树抽象的包装器自动生成方法有效
申请号: | 201711172974.8 | 申请日: | 2017-11-22 |
公开(公告)号: | CN107943929B | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | 陈星;张佳俊;王一洲 | 申请(专利权)人: | 福州大学 |
主分类号: | G06F16/958 | 分类号: | G06F16/958 |
代理公司: | 福州元创专利商标代理有限公司 35100 | 代理人: | 蔡学俊;丘鸿超 |
地址: | 350116 福建省福州市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 dom 抽象 包装 自动 生成 方法 | ||
本发明涉及一种基于DOM树抽象的包装器自动生成方法。包装器生成阶段:用户输入网页集合,得到DOM树集合;而后,对DOM树进行合并,遍历DOM树对相同标签的子节点进行合并,并且针对每个节点进行路径特征标注,最终将DOM树集合转化为合并树集合;对合并树集合进行抽象操作得到抽象树,并将抽象树存入数据库中;根据配置文档确定结构化数据在合并树中的路径特征,将对应的路径特征经过处理后写入文档中,生成包装器;结构化数据抽取阶段:将待抽取的目标网页解析成DOM树,与抽象树进行匹配确定目标网页是否为包装器对应的类型网页;读取配置文档中的路径对目标DOM树进行抽取。本发明不仅能实现自动化生产包装器,并且在准确率和时间性能上也有较好的表现。
技术领域
本发明属于云计算领域,具体涉及一种基于DOM树抽象的包装器自动生成方法。
背景技术
传统的包装器都由人工定义,要为不同类型的页面制作不同的包装器,因此包装器的维护是一个很大的开销,一旦原来的页面风格变了,原来的包装器也就需要重新定义。因此,目前主流的研究趋势是包装器的自动生成,本申请提出一种可行的基于DOM树抽象的包装器自动生成技术。该技术主要有两个部分组成:第一,目标类型网页的DOM树抽象;第二,目标节点的特征获取和定位。运用该技术可以对多种类型的网页实现包装器的自动生成。针对5个网站进行了实验,实验结果表明该方法的可行性和有效性。
发明内容
本发明的目的在于提供一种基于DOM树抽象的包装器自动生成方法,该方法不仅能实现自动化生产包装器,并且在准确率和时间性能上也有较好的表现。
为实现上述目的,本发明的技术方案是:一种基于DOM树抽象的包装器自动生成方法,包括如下步骤,
步骤S1、包装器生成阶段:
步骤S11、用户输入网页集合,通过网页预处理去除源码中的杂质信息,并解析成DOM树,得到DOM树集合;
步骤S12、对DOM树进行合并,遍历DOM树对相同标签的子节点进行合并,并且针对每个节点进行路径特征标注,最终将DOM树集合转化为合并树集合;
步骤S13、对合并树集合进行抽象操作得到抽象树,并将抽象树存入数据库中;
步骤S14、根据配置文档确定结构化数据在合并树中的路径特征,将对应的路径特征经过处理后写入文档中,生成包装器;
步骤S2、结构化数据抽取阶段:
步骤S21、将待抽取的目标网页解析成DOM树;
步骤S22、将DOM树与抽象树进行匹配确定目标网页是否为包装器对应的类型网页;
步骤S23、读取配置文档中的路径对目标DOM树进行抽取。
在本发明一实施例中,所述步骤S12采用CombinerTree算法实现将DOM树集合转化为合并树集合,具体的CombinerTree算法实现如下:
(1)设child[n0]为DOM树Ti的根节点vi子节点;
(2)输入节点vi,若vi存在子节点,则获取vi的子节点并存入child[n0];
(3)对child[n0]中的所有子节点进行两两判断:
假设选取的两个vi的子节点为k、h,若k≠h,并且k的标签=h的标签,则获取子节点h的子节点并存入temp[m]中;而后,将temp[m]添加为子节点k的子节点,移除子节点h;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福州大学,未经福州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711172974.8/2.html,转载请声明来源钻瓜专利网。