[发明专利]一种网页模板的提取方法和装置在审
| 申请号: | 201510084759.7 | 申请日: | 2015-02-16 |
| 公开(公告)号: | CN104636481A | 公开(公告)日: | 2015-05-20 |
| 发明(设计)人: | 范莹;于治楼;梁华勇 | 申请(专利权)人: | 浪潮集团有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 李世喆 |
| 地址: | 250100 山东*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 网页 模板 提取 方法 装置 | ||
技术领域
本发明涉及网络技术领域,特别涉及一种网页模板的提取方法和装置。
背景技术
在大数据生态链中,互联网数据的采集和解析,处于生态链的前端,是数据挖掘分析的前提。互联网的网页,其模板千差万别,即使是同一网站,也可能同时存在不同的模板,而不同的时期,模板也会相应改变,以减少因乏味、审美疲劳造成的客户流失。其中,网页模板一般是指网页的结构化,比如,一个网页展示的文字和图像结构,图片的插入位置等。
而目前的网页解析技术,大多还是针对不同网页模板进行不同的解析程序编写。因此,要保证解析程序的编写,提高网页解析质量的关键,以便更好地完成网页解析,则要求能够从大量的网页中提取出网页模板。
发明内容
本发明提供一种提取网页模板的方法和装置,能够解决现有技术中无法提取网页模板的问题。
一种网页模板的提取方法,包括:
利用各个网页,分别构建各个DOM树;
将各个DOM树中的节点名称按广度遍历加入各个队列,生成各个DOM树节点队列;
对所有DOM树节点队列,按队列顺序取出节点名称进行比较,相同的加入DOM分类树节点中,不同的建立树分叉然后加入,得到对应各分类网页的DOM树网页模板。
所述利用各个网页,分别构建各个DOM树包括:
使用Jsoup将每一个网页的网页源码构建为一个DOM树,生成Document对象实例;使用Jsoup的select()方法找到注释类元素并删除。
所述生成各个DOM树节点队列包括:
对每一个DOM树d1,d2,...,dn进行广度遍历,按遍历顺序使用tagName()取出元素标签名称,将树节点的节点名称加入队列中,得到n个队列Q={q1,q2,...,qn},其中qi={tni1,tni2,...,tnix},(1≤i≤n),tnij(1≤j≤x)表示第i个队列中的第j个元素的标签名称,其中得到qi的过程包括:
c)创建两个队列qe,qi,将根节点加入这两个队列中,qe队列作为进行广度遍历的暂存队列,qi保存广度遍历结果;
d)从qe队列头出队列一个元素,使用children()获得所有子元素,加入到qe和qi的队尾;
重复b)步,直到qe队列为空为止,得到一个DOM树遍历队列qi。
所述得到对应各分类网页的网页模板DOM树包括:
设类别树节点的结构为node={child,tagname,brother,listqid},其中,child记录该节点的第一个子节点,tagname保存当前节点元素的标签名称,brother保存当前节点的相邻兄弟节点,listid保存与从根节点到当前节点所构成树节点序列一致的所有qi的下标,也就是i值的列表,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮集团有限公司,未经浪潮集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510084759.7/2.html,转载请声明来源钻瓜专利网。





