||||
基于DIV位置的网页正文抽取方法和装置
本方法出自一篇专利文献,流程如下:
具体解释如下:
S502 过滤页面中的无关代码.主要是过滤HTML中的Javascript代码和冗余标签.
S506 重新构建DIV块. 本步骤是为了达到如下图所示的效果.首先获取非DIV代码段,即获取两个<DIV*>开始标签之间的代码、以及两个<DIV>结束标签之间的代码.然后为找到的每一个代码段的两端加上一对DIV标签.这样就可以达到下图右边部分所示的效果.
S508 计算每个DIV块的层次值. 即计算各个DIV块相对于BODY标签的层次值.如上图,按照自上而下的顺序(即ABCEGFHD),DIV块的层次值依次为1à2à2à3à3à3à3à2.
S510-S514 过滤非原子DIV块,保留原子DIV块. 由上述层次序列可以看出,当右边元素的层次值大于左边时,就存在DIV的嵌套关系.因此将AC去掉,得到相互独立的DIV块,如下图所示.
S516 对保留的DIV块的参数进行分析. 对页面建立XY坐标轴,如下图所示.选取DIV的宽度和面积两个参数进行分析.从大量网页的统计分析数据看,包含网页正文的DIV块一般符合下述两个条件:1)在横向上,其横跨所有原子DIV块覆盖区域的一半以上;2)在面积上,其面积是所有原子DIV块中面积最大的. 具体分析过程:首先循环取出每一个DIV块,验证条件1),并把符合条件的放到数组A. 遍历完毕之后,将数组A中DIV块的按照面积从大到小的顺序排列,取出面积最大的DIV块放入数组B中.
S518 查找包含网页内容的DIV块. 从数组A中取出一个DIV块,如果该DIV块与数据B中的DIV块在坐标轴上处于上下关系,并且两个DIV块之间的间隙距离在阈值T之内,那么也将该DIV块加入数组B中.
S520 对数组B中的DIV块进行内容提取.
S522 将提取出的内容进行组合,以获取完整的网页正文.
方法效果
本发明能够克服现有技术的不足,可以应用于网页数据采集及挖掘等信息处理领域.实验数据显示,该方法的正文抽取精度可以达到94%以上.
参考文献
[1]中国电信股份有限公司.基于DIV位置的网页正文抽取方法和装置:中国,201010553327.3[P].2012.05.30
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2023-3-30 03:35
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社