CN113987367B - 一种基于Render_DOM模型的网页净化系统及其净化方法 - Google Patents
一种基于Render_DOM模型的网页净化系统及其净化方法 Download PDFInfo
- Publication number
- CN113987367B CN113987367B CN202111259155.3A CN202111259155A CN113987367B CN 113987367 B CN113987367 B CN 113987367B CN 202111259155 A CN202111259155 A CN 202111259155A CN 113987367 B CN113987367 B CN 113987367B
- Authority
- CN
- China
- Prior art keywords
- block
- basic unit
- tree
- dom
- render
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000746 purification Methods 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000009877 rendering Methods 0.000 claims abstract description 34
- 230000011218 segmentation Effects 0.000 claims abstract description 15
- 238000005457 optimization Methods 0.000 claims abstract description 9
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000000007 visual effect Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013515 script Methods 0.000 description 4
- 238000012800 visualization Methods 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 239000011230 binding agent Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- RZVAJINKPMORJF-UHFFFAOYSA-N Acetaminophen Chemical compound CC(=O)NC1=CC=C(O)C=C1 RZVAJINKPMORJF-UHFFFAOYSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000011012 sanitization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种基于Render_DOM模型的网页净化系统及其净化方法,包括采集模块、解析模块、渲染模块、优化模块以及视图显示模块;所述解析模块生成Render_DOM渲染树,所述Render_DOM渲染树的每个树节点renderer体现为对应的DOM可视节点以及为其计算好的CSS样式规则的矩形框;其中,将树节点renderer的块状元素设置为Block节点;Block块树模块用于将Render_DOM渲染树的Block节点以从上至下、从左至右的顺序作为编号路径形成Block块树;其中,所述Block块树包括基本单元块;所述合并模块用于将Block块树上离得最近的基本单元块进行合并,直到基本单元块对应的矩形框的面积达到页面块阈值;所述分割模块用于将相似度超过相似度阈值的基本单元块作为重复内容删除。本申请提高了工作效率。
Description
技术领域
本申请涉及网页净化技术领域,尤其涉及一种基于Render_DOM模型的网页净化系统及其净化方法。
背景技术
如今,当人们在网络上对Web网页内容进行信息获取时,除了会遇到一些只包含与主题相关的内容的优质Web网页外,还经常会遇到具有很多网络噪声污染的Web网页,所谓网络噪声污染,也就是Wed页面中包含有许多的与主题无关的内容。而这种网页噪声的存在,不仅占据正常网页空间,使网页变得混乱,阻断正常的文档流布局,在视觉上,还会干扰人们对主题信息的获取。因此,我们需要对被网络噪声污染的web网页进行净化处理,现有技术中一般通过采用网页分割技术来进行网页净化,将噪声污染部分分割,目前常被使用的网页分割方法包括:基于位置关系的分块法、基于DOM树模型的分块法、基于CSSOM模型的分块法以及基于视觉特征的VIPS方法等。而这些方法要么是单独基于dom树模型为对象,要么单独基于cssom树模型为对象,都只考虑到单一模型算法。具体的说,采用dom树模型的算法依据html的语义化标签按照功能来分类,然后提取出对应的dom树,所有的节点彼此间都存在关系,它可以按照html文档语义化的构建树结构,将存在于页面上看的见的和看不见的元素都对应起来,诠释整个页面结构内容,但其只关注了语义化的标签,导致过度构建不需要的dom元素,比如一些与主题关系不大的标签<header>、<script>等,导致构建的dom树极其冗余,同时没有考虑样式元素带来的布局改变;而采用cssom树模型的算法使用了一种嵌套的盒模型来定位网页中元素的位置和显示方式,网页中的每个元素通过盒模型进行定位和布局,cssom树模型算法又只考虑了网页视觉上的表现形式,而忽略了页面语义化的内容。因此这些方法都无法实现web页面语义化与视觉化的统一,也说明了采用某种单一模型并不能全面合理地分割网页。
发明内容
为了解决问题,本申请提供一种基于Render_DOM模型的网页净化系统,包括采集模块、解析模块、渲染模块、优化模块以及视图显示模块;
其中,所述采集模块用于获取网页的HTML信息,所述解析模块能够根据获取的网页的HTML信息,得到基于HTML网页标签分类而构建的DOM树和基于CSS样式表分类而构建的CSSOM树,所述渲染模块用于将生成的DOM树和CSSOM树结合渲染生成Render_DOM渲染树;所述Render_DOM渲染树能够体现为盒子模型的形式,其中,所述Render_DOM渲染树的每个树节点renderer能够体现为对应的DOM可视节点以及为其计算好的CSS样式规则的矩形框;其中,将树节点renderer的块状元素设置为Block节点,所述Block节点也能够体现为矩形框;
所述优化模块包括Block块树模块、合并模块和分割模块;
所述Block块树模块用于将Render_DOM渲染树的Block节点以从上至下、从左至右的顺序作为编号路径形成Block块树;其中,所述Block块树包括基本单元块,所述基本单元块的子节点为不可再分割的叶子节点;
所述合并模块用于将Block块树上离得最近的基本单元块进行合并,直到基本单元块对应的矩形框的面积达到页面块阈值;
所述分割模块用于将相似度超过相似度阈值的基本单元块作为重复内容删除;
所述视图显示模块用于显示经过优化模块合并和分割后的网页。
其中,只有DOM可视节点会建立Render_DOM树节点renderer,其中,一个DOM可视节点能够对应一个或多个Render_DOM树节点renderer。
本申请还提供一种使用如上所述的基于Render_DOM模型的网页净化系统的净化方法,其步骤包括:
S10,获取网页的HTML信息,得到DOM树和CSSOM树,将生成的DOM树和CSSOM树结合渲染生成Render_DOM渲染树,所述Render_DOM渲染树体现为盒子模型的形式,所述Render_DOM渲染树的每个树节点renderer体现为对应的DOM可视节点以及为其计算好的CSS样式规则的矩形框;其中,将树节点renderer的块状元素设置为Block节点,所述Block节点也体现为矩形框;
S20,将Render_DOM渲染树的Block节点以从上至下、从左至右的顺序作为编号路径形成Block块树;其中,所述Block块树包括基本单元块,所述基本单元块的子节点为不可再分割的叶子节点;
S30,将相似度超过一定相似阈值的基本单元块作为重复内容删除;
S40,将Block块树上离得最近的基本单元块进行合并,直到基本单元块对应的矩形框的面积达到页面块阈值;
S50,显示最终的网页内容。
其中,在步骤S30中,基本单元块的相似度的计算方法为:
设置Block块树的基本单元块共有n个,其中,已知第j个基本单元块的权重为wj,设置基本单元块的盒子模型共有M种属性,其中,Tkj是第k种属性出现在第j个基本单元块中的概率,则能够得到第k种属性的权重
其中,设置基本单元块a和b的盒子模型共有N种属性(N∈M),而第k种属性的权重为wk,则能够得到a和b两个基本单元块之间的相似度 其中,distance(φak,φbk)为基本单元块a和b的第k种属性之间的距离。
其中,在步骤S40中,还包括:获得每个基本单元块其与其周围其他基本单元块的距离,设置页面块阈值,将基本单元块与离得最近的其他基本单元块进行合并;当合并形成的矩形框的面积未达到页面块阈值时,继续合并;当合并后的矩形框面积达到了页面块阈值时,停止合并。
其中,设置Block块树中,根节点到基本单元块a的路径编号为a1,a2,a3,…,ap,由根节点到基本单元块b的路径编号为b1,b2,b3,…,bq;
则能够得到根节点到基本单元块a的路径编号按顺序形成的a路径数组(a1a2a3…ap)和根节点到基本单元块b的路径编号按顺序形成的b路径数组(b1b2b3…bq);
其中,a和b在块树上的距离为a路径数组对应的二级制数与b路径数组对应的二进制数的张量积的十进制表示;
具体公式表示为:a和b在块树上的距离
其中,当k代表基本单元块在Block块树上的位置时,a和b在块树上的距离
当k代表颜色时,基本单元块a的颜色值RGB(ra,gb,ba)和基本单元块b的颜色值RGB(rb,gb,bb)之间的距离的计算方法为:其中,a为红色值,g为绿色值,b为蓝色值;
当k代表基本单元块的宽高比时,设置基本单元块a的宽度为widtha,高度为heighta,基本单元块b的宽度为widthb,高度为heightb,能够得到基本单元块a和b的宽高比之间的距离
当k代表基本单元块的Table标签占比时,设置Tablea为基本单元块a中的Table标签个数,Tableb为基本单元块b中的Table标签个数,Table页为全页面中的Table标签个数;则能够得到基本单元块a中Table标签占比 基本单元块b中Table标签占比则能够得到基本单元块中Table标签的占比之间的距离
其中,设置基本单元块a和b所在的盒子模型共有的N种属性具体包括:基本单元块在Block块树上的位置属性road、基本单元块的颜色属性color、基本单元块的宽高比属性length以及基本单元块中Table标签的占比属性table;
能够得到的a和b之间的相似度为:
Sa,b=wcolor×dis(φa-color,φb-color)+wlength×dis(φa-length,φb-length)+wtable×dis(φa-table,φb-table)+wroad×dis(φa-road,φb-road)
其中,wcolor为颜色color的属性权重,wlength为宽高比length的属性权重、wtable为Table标签占比的属性权重、wroad为Block块树位置road的属性权重。
其中,在步骤S30中,设置相似度阈值L,当基本单元块a和基本单元块b的相似度Sa,b≥L时,删除其中一个。
本申请实现的有益效果如下:
本申请对采集的网页内容进行分块后,分块内容同时代表语义化和视觉化的内容,这样就能够在多方面对冗余内容进行合并和分割,能够更加有效率的净化网页内容,尽量优化性的排除网页噪声,同时能保证安全性,实现了web页面语义化与视觉化的统一。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域技术人员来讲,还可以根据这些附图获得其他的附图。
图1为现有技术中DOM树模型的一个实施例。
图2为一个标准盒子模型四个区域占据位置的示意图。
图3为Render_DOM渲染树以盒子模型的形式显示其页面分块示意图。
图4为一个Render_DOM渲染树与DOM树对应关系的实施例。
图5为一个Block块树模型的结构示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供一种基于Render_DOM模型的网页净化系统,所述网页净化系统包括采集模块、解析模块、渲染模块、分割模块以及视图显示模块;
其中,所述采集模块用于获取网页HTML信息,所述解析模块能够对获取到的HTML信息进行解析,对HTML编码成字符串,生成DOM树,同时加载图片、样式表、JS脚本等资源解析生成CSSOM树,所述渲染模块用于将生成的DOM树和CSSOM树结合渲染生成Render_DOM渲染树,所述Render_DOM渲染树以盒子模型的形式体现;
所述优化模块包括Block块树模块、合并模块和分割模块;
所述Block块树模块用于将HTML中的块状元素对应的Render_DOM渲染树的Block节点以从上至下、从左至右顺序编号的路径形成Block块树,所述Block块树包括基本单元块,所述基本单元块的子节点为叶子节点;
所述合并模块用于将达到一定相似度的基本单元块进行合并;
所述分割模块用于将基本单元块中的字符串以盒子模型中属性进行排列,生成字符串序列,将重复的字符串分割;
所述视图显示模块用于显示经过优化模块合并和分割后的网页。
图1为现有技术中DOM树模型的一个实施例,对应图1中DOM树模型的HTML文件代码如下所示:
<HTML>
<HEAD>
<TITLE>
DOM示例
</TITLE>
</HEAD>
<BODY>
<H1 align="center">
A Example
</H1>
<P>
Hello<BR>World
</P>
</BODY>
</HTML>
上述HTML代码是图1所示的DOM树模型的HTML代码体现,其中,如图1所示,HTML是DOM树模型中的根节点,HEAD和BODY是根节点HTML的子节点,而作为子节点的HEAD和BODY也各有自己的子节点。其中,在DOM树模型中,将具有下级子节点的子节点称为中间节点,如TITLE;无下级子节点不可再分割的子节点称为叶子节点,如BR。
通过解析器对HTML网页解析,能够得到基于HTML网页标签分类而构建的DOM树和基于CSS样式表分类而构建的CSSOM树,通过浏览器的渲染引擎(常用的如IE的Trident、firefox的Gecko、Chrome的Webkit)结合上述DOM树和CSSOM树模型能够生成Render渲染树,具体方法为:先从DOM树的根节点HTML开始遍历每个可视节点,然后对每个可视节点找到适配的CSS样式规则并应用,对应生成Render渲染树的节点,其中,我们将Render渲染树的节点称之为Renderer或者Render Object,所述Renderer包含了一个DOM对象以及为其计算好的CSS样式规则,提供了布局以及显示方法。
在HTML网页的页面设计中,我们将内容和显示上独立的闭合的矩形区域称为页面块,一个页面块在DOM树中对应代表一个节点。页面块在HTML代码中具体表现为一个代码块,这些代码块在DOM树中可以解析成一个DOM节点,任何一个中间节点都有自己的子节点,任何一个子节点如果它在浏览器中是可视的,那么它也可以表述为一个页面块,因而,父节点所代表的页面块又可以分解成它的各个子节点页面块的一个组合。
将页面分割为若干个互不相交的块的从操作被称为页面分块,由于页面块可以分为很多个级别,对网页第一次分块所得的节点可以看作是该网页的一级分块,对应着一些中间节点,一级块还可以继续再分,直到分到不能再分块的叶子节点(文本节点、图片节点或者链接节点),这些叶子节点对应的块被称为基本块,是粒度最小的块,这类块在由各个级别块所构成的块树结构中具体表述为叶子节点块。
盒子模型(Box Model)的概念是把所有网页上的对像都放在一个盒(box)中,设计师可以通过创建定义来控制这个盒的属性,这些对像包括段落、列表、标题、图片以及层;盒子模型主要定义四个区域:盒子内容(content)、边框(border)、内边距(padding)和外边距(margin),如图2所示,是一个标准盒子模型四个区域占据位置的示意图,计算方法为元素框的总宽度=元素(element)的width+padding的左边距和右边距的值+margin的左边距和右边距的值+border的左右宽度;元素框的总高度=元素(element)的height+padding的上下边距的值+margin的上下边距的值+border的上下宽度,也就是说,在一个实施例中,设盒子的margin为20px,border为1px,padding为10px,content的宽为200px、高为50px,则盒子需要占据的位置为:宽20*2+1*2+10*2+200=262px、高20*2+1*2*10*2+50=112px,盒子的实际大小为:宽1*2+10*2+200=222px、高1*2+10*2+50=72px。
另外盒子内容(content)、边框(border)、内边距(padding)和外边距(margin)四个区域还包括CSS样式表赋予的属性,以边框(border)属性为例,其不但包括边框宽度border-width,还包括边框颜色border-color、边框样式border-style等,通过这些样式属性,构成了框模型,这些属性值都是CSS样式表赋予的。通常我们设置的背景显示区域,就是内容(content)、内边距(padding)、边框(border)形成的区域,而外边距margin是透明的,不会遮挡周边的其他元素。
综上所述,生成得到Render_DOM渲染树能够以盒子模型的形式显示其页面分块,如图3所示,Content对应DOM树,Style Contents对应CSSOM树,而firefox浏览器内核Frames以组合的矩形框形式对应表述Render_DOM渲染树的节点集合renderers。
其中,Render_DOM渲染树虽然是基于DOM树建立起来的,是布局和渲染等机制的基础设施,但Render_DOM树节点renderer和DOM树节点不是一一对应关系,例如,DOM树中的可视化节点,例如HTML,BODY,DIV会建立renderer,而例如HEAD,META,SCRIPT等非可视化节点不会建立renderer,也就是说,只有可视节点会建立Render_DOM树节点renderer;同时,一个DOM节点对应多个renderer的情况也是普遍存在的,这主要为了解决一个renderer不能清楚描述网页块如何显示出来的问题,例如:下拉框选择标签<select>,就需要三个renderer,一个用于显示区域,一个用于展示下拉框列表,最后一个用于选择的按钮。具体的,如图4所示,为一个Render渲染树与DOM树对应关系的实施例,其中,HEAD,META,SCRIPT等非可视节点不会建立对应的renderer,而HTML则对应建立Viewport、Scroll、Block三个renderer。
由于目前WEB网页基本都是采用“DIV加CSS”的设计,WEB前端工程师一般会把逻辑相关的信息放到同一个Block块状盒子里控制布局,因此,DIV标签的默认样式为Block块状盒模型结构,相应的,DOM树中的BODY,DIV等可视化节点会对应生成Render渲染树中的多个块状(Block)节点;
因此,可以基于网页Block分块的设计,对Render渲染树进行优化,具体的操作过程中,首先,将Render渲染树优化成为基于Block分块的从上至下、从左至右顺序编号路径的Block块树模型,其中,Render渲染树的每个renderer都对应有Block块,如图5所示,为一个Block块树模型的结构示意图,其中,只包括不能再分割的叶子节点的Block子节点称为基本单元块(子Block块),这些基本单元块之间能够进行合并优化。
多数网页内容可以分为两类:作为主题内容和非主题内容;主题内容可以有一个主题或者多个主题,多个主题一般都表现为多个区域块,这类块可以成为主题块,从语义角度上看,它们是网页所有表示的主要内容;从视觉角度去看,它们一般分布在页面的中心区域;从HTML角度去分析,如果这些主题具有一定的并列关系,那么它们的HTML标签结构和DOM字数的结构还具有某种相似性。非主题内容主要表现为网页的logo、导航条、版权标记、固定常用链接等。主要分布于页面的顶部、底部和一侧或两侧,从HTML的角度来看,这些节点中一般存在大量的图片标记和链接标记。而网页噪声也出现在这些内容中,基于上述设计思路,为了尽量净化优化网页内容,我们通过计算各个基本单元块之间的相似度,用于对相似的基本单元块进行合并。
各个基本单元块之间的相似度具体计算方法有多种,在本发明的一些实施例中,设置基本单元块共有n个,其中,第j个基本单元块的权重为wj,设置基本单元块的盒子模型共有M种属性,其中,Tkj是第k种属性出现在第j个基本单元块中的概率,则能够得到第k种属性的权重
其中,设置a和b所在的盒子模型共有N种属性(N∈M),而已知第k种属性的权重为wk,能够得到a和b两个基本单元块之间的相似度
其中,distance(φak,φbk)为基本单元块a和b的第k种属性之间的距离。
本实施例中,具体的属性包括在块树上的位置road、颜色color、宽高比length以及Table标签占比table。
其中,基本单元块在块树上的距离distance(road)可以根据建立如图5所示的的基于Block分块的从上至下、从左至右顺序编号路径的Block块树模型来计算,用其值的异或来表示,值越大表明距离越远。
例如,在一个具体实施例中,在如图5的实施例中,基本单元块a的road值为“1—3—1—1”,基本单元块b的road值为“1—4—2—1”;则得到a和b在块树上的距离
基本单元块a的颜色值RGB(ra,gb,ba)和基本单元块b的颜色值RGB(rb,gb,bb)之间的距离,具体计算方法为:
其中,r值为红色值,g值为绿色值,b为蓝色值。
基本单元块a和b的宽高比之间的距离
其中,基本单元块a的宽度为widtha,高度为heighta;基本单元块b的宽度为widthb,高度为heightb。
设置Tablea为基本单元块a中的Table标签个数,Tableb为基本单元块b中的Table标签个数,Table页为全页面中的Table标签个数。
基本单元块a中Table标签占比基本单元块b中Table标签占比
基本单元块中Table标签的占比之间的距离
则基本单元块在块树上的距离distance(road)、基本单元块的颜色RGB值之间的距离distance(color)、基本单元块的宽高比之间的距离distance(length)以及基本单元块中Table标签的占比之间的距离distance(table)得到的a和b之间的相似度为:
Sa,b=wcolor×dis(φa-color,φb-color)+wlength×dis(φa-length,φb-length)+wtable×dis(φa-table,φb-table)+wroad×dis(φa-road,φb-road)
其中,wcolor为颜色color的属性权重,wlength为宽高比length的属性权重、wtable为Table标签占比的属性权重、wroad为块树位置road的属性权重。
设置相似阈值P,将相似度达到相似阈值P的两个基本单元块视为重复块,将重复块分割。
另外,通过基本单元块在块树上的距离distance(road)的计算方法,能够得到每个基本单元块其与周围其他块的最近的距离,设置页面块阈值Q,将基本单元块与其周围其他块进行合并,当基本单元块与周围其他块合并形成的盒子模型的矩形框的面积未达到页面块阈值Q时,继续合并,如果合并后的矩形框面积达到了页面块阈值Q,则停止合并。
应用上述方法进行分割时产生具体测试数据为:人工选择100张网页,按照上述规则进行人工识别与分割,测试结果中:约78%网页分割效果较好,10%网页分割效果一般,剩下的12%网页分割效果不理想。分析原因,一是页面过于庞大和复杂,含有浏览器不兼容样式等,二是页面分割过程中没有考虑到被隐藏的DOM元素,即display为none值的元素。因此可证明本方案在绝大多数情况下的能够优化净化网页。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (9)
1.一种基于Render_DOM模型的网页净化系统,包括采集模块、解析模块、渲染模块、优化模块以及视图显示模块;
其中,所述采集模块用于获取网页的HTML信息,所述解析模块能够根据获取的网页的HTML信息,得到基于HTML网页标签分类而构建的DOM树和基于CSS样式表分类而构建的CSSOM树,所述渲染模块用于将生成的DOM树和CSSOM树结合渲染生成Render_DOM渲染树;所述Render_DOM渲染树能够体现为盒子模型的形式,其中,所述Render_DOM渲染树的每个树节点renderer能够体现为对应的DOM可视节点以及为其计算好的CSS样式规则的矩形框;其中,将树节点renderer的块状元素设置为Block节点,所述Block节点也能够体现为矩形框;
所述优化模块包括Block块树模块、合并模块和分割模块;
所述Block块树模块用于将Render_DOM渲染树的Block节点以从上至下、从左至右的顺序作为编号路径形成Block块树;其中,所述Block块树包括基本单元块,所述基本单元块的子节点为不可再分割的叶子节点;
所述合并模块用于将Block块树上离得最近的基本单元块进行合并,直到基本单元块对应的矩形框的面积达到页面块阈值;
所述分割模块用于将相似度超过相似度阈值的基本单元块作为重复内容删除;
所述视图显示模块用于显示经过优化模块合并和分割后的网页。
2.如权利要求1所述的基于Render_DOM模型的网页净化系统,其中,只有DOM可视节点会建立Render_DOM树节点renderer,其中,一个DOM可视节点能够对应一个或多个Render_DOM树节点renderer。
3.一种使用如权利要求1或2所述的基于Render_DOM模型的网页净化系统的净化方法,其步骤包括:
S10,获取网页的HTML信息,得到DOM树和CSSOM树,将生成的DOM树和CSSOM树结合渲染生成Render_DOM渲染树,所述Render_DOM渲染树体现为盒子模型的形式,所述Render_DOM渲染树的每个树节点renderer体现为对应的DOM可视节点以及为其计算好的CSS样式规则的矩形框;其中,将树节点renderer的块状元素设置为Block节点,所述Block节点也体现为矩形框;
S20,将Render_DOM渲染树的Block节点以从上至下、从左至右的顺序作为编号路径形成Block块树;其中,所述Block块树包括基本单元块,所述基本单元块的子节点为不可再分割的叶子节点;
S30,将相似度超过一定相似度阈值的基本单元块作为重复内容删除;
S40,将Block块树上离得最近的基本单元块进行合并,直到基本单元块对应的矩形框的面积达到页面块阈值;
S50,显示最终的网页内容。
4.如权利要求3所述的基于Render_DOM模型的网页净化系统的净化方法,其中,在步骤S30中,基本单元块的相似度的计算方法为:
设置Block块树的基本单元块共有n个,其中,已知第j个基本单元块的权重为wj,设置基本单元块的盒子模型共有M种属性,其中,Tkj是第k种属性出现在第j个基本单元块中的概率,则能够得到第k种属性的权重
其中,设置基本单元块a和b的盒子模型共有N种属性(N∈M),而第k种属性的权重为wk,则能够得到a和b两个基本单元块之间的相似度 其中,distance(φak,φbk)为基本单元块a和b的第k种属性之间的距离。
5.如权利要求4所述的基于Render_DOM模型的网页净化系统的净化方法,其中,在步骤S40中,还包括:获得每个基本单元块其与其周围其他基本单元块的距离,设置页面块阈值,将基本单元块与离得最近的其他基本单元块进行合并;当合并形成的矩形框的面积未达到页面块阈值时,继续合并;当合并后的矩形框面积达到了页面块阈值时,停止合并。
6.如权利要求5所述的基于Render_DOM模型的网页净化系统的净化方法,其中,设置Block块树中,根节点到基本单元块a的路径编号为a1,a2,a3,…,ap,由根节点到基本单元块b的路径编号为b1,b2,b3,…,bq;
则能够得到根节点到基本单元块a的路径编号按顺序形成的a路径数组(a1a2a3…ap)和根节点到基本单元块b的路径编号按顺序形成的b路径数组(b1b2b3…bq);
其中,a和b在块树上的距离为a路径数组对应的二级制数与b路径数组对应的二进制数的张量积的十进制表示;
具体公式表示为:a和b在块树上的距离
7.如权利要求6所述的基于Render_DOM模型的网页净化系统的净化方法,其中,当k代表基本单元块在Block块树上的位置时,a和b在块树上的距离
当k代表颜色时,基本单元块a的颜色值RGB(ra,gb,ba)和基本单元块b的颜色值RGB(rb,gb,bb)之间的距离的计算方法为:其中,a为红色值,g为绿色值,b为蓝色值;
当k代表基本单元块的宽高比时,设置基本单元块a的宽度为widtha,高度为heighta,基本单元块b的宽度为widthb,高度为heightb,能够得到基本单元块a和b的宽高比之间的距离
当k代表基本单元块的Table标签占比时,设置Tablea为基本单元块a中的Table标签个数,Tableb为基本单元块b中的Table标签个数,Table页为全页面中的Table标签个数;则能够得到基本单元块a中Table标签占比 基本单元块b中Table标签占比则能够得到基本单元块中Table标签的占比之间的距离
8.如权利要求7所述的基于Render_DOM模型的网页净化系统的净化方法,其中,设置基本单元块a和b所在的盒子模型共有的N种属性具体包括:基本单元块在Block块树上的位置属性road、基本单元块的颜色属性color、基本单元块的宽高比属性length以及基本单元块中Table标签的占比属性table;
能够得到的a和b之间的相似度为:
Sa,b=wcolor×dis(φa-color,φb-color)+wlength×dis(φa-length,φb-length)+wtable×dis(φa-table,φb-table)+wroad×dis(φa-road,φb-road)
其中,wcolor为颜色color的属性权重,wlength为宽高比length的属性权重、wtable为Table标签占比的属性权重、wroad为Block块树位置road的属性权重。
9.如权利要求8所述的基于Render_DOM模型的网页净化系统的净化方法,其中,在步骤S30中,设置相似度阈值L,当基本单元块a和基本单元块b的相似度Sa,b≥L时,删除其中一个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111259155.3A CN113987367B (zh) | 2021-10-27 | 2021-10-27 | 一种基于Render_DOM模型的网页净化系统及其净化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111259155.3A CN113987367B (zh) | 2021-10-27 | 2021-10-27 | 一种基于Render_DOM模型的网页净化系统及其净化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113987367A CN113987367A (zh) | 2022-01-28 |
CN113987367B true CN113987367B (zh) | 2024-05-31 |
Family
ID=79742940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111259155.3A Active CN113987367B (zh) | 2021-10-27 | 2021-10-27 | 一种基于Render_DOM模型的网页净化系统及其净化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113987367B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101251855A (zh) * | 2008-03-27 | 2008-08-27 | 腾讯科技(深圳)有限公司 | 一种互联网网页清洗方法、系统及设备 |
CN102663126A (zh) * | 2012-04-23 | 2012-09-12 | 奇智软件(北京)有限公司 | 一种在移动终端中显示网页的方法及装置 |
CN102915375A (zh) * | 2012-11-08 | 2013-02-06 | 山东大学 | 一种基于布局分区的网页加载方法 |
CN109062876A (zh) * | 2018-07-20 | 2018-12-21 | 北京开普云信息科技有限公司 | 一种基于dom网页剪枝的相似网页查找方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120110437A1 (en) * | 2010-10-28 | 2012-05-03 | Microsoft Corporation | Style and layout caching of web content |
-
2021
- 2021-10-27 CN CN202111259155.3A patent/CN113987367B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101251855A (zh) * | 2008-03-27 | 2008-08-27 | 腾讯科技(深圳)有限公司 | 一种互联网网页清洗方法、系统及设备 |
CN102663126A (zh) * | 2012-04-23 | 2012-09-12 | 奇智软件(北京)有限公司 | 一种在移动终端中显示网页的方法及装置 |
CN102915375A (zh) * | 2012-11-08 | 2013-02-06 | 山东大学 | 一种基于布局分区的网页加载方法 |
CN109062876A (zh) * | 2018-07-20 | 2018-12-21 | 北京开普云信息科技有限公司 | 一种基于dom网页剪枝的相似网页查找方法及系统 |
Non-Patent Citations (1)
Title |
---|
曾蒸 ; 马燕.基于模式匹配的网页净化方法.重庆师范大学学报. 自然科学版.2015,32(6),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN113987367A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2021205057B2 (en) | System and method for automated conversion of interactive sites and applications to support mobile and other display environments | |
US8255793B2 (en) | Automatic visual segmentation of webpages | |
CN110968667B (zh) | 一种基于文本状态特征的期刊文献表格抽取方法 | |
US20110173527A1 (en) | Determining Semantically Distinct Regions of a Document | |
US9817804B2 (en) | System for comparison and merging of versions in edited websites and interactive applications | |
CN101025738B (zh) | 一种免模板动态网站生成方法 | |
Akpınar et al. | Vision based page segmentation algorithm: Extended and perceived success | |
US8719291B2 (en) | Information extraction using spatial reasoning on the CSS2 visual box model | |
Ramel et al. | Detection, extraction and representation of tables | |
US20100174982A1 (en) | Identification of compound graphic elements in an unstructured document | |
CN102650999B (zh) | 一种从网页中抽取对象属性值信息的方法和系统 | |
JP2005092889A (ja) | ウェブページのための情報ブロック抽出装置及び情報ブロック抽出方法 | |
CN104598462B (zh) | 提取结构化数据的方法及装置 | |
CN105740355B (zh) | 基于聚集文本密度的网页正文提取方法及装置 | |
CN102591612A (zh) | 一种基于标点连续性的通用网页正文提取方法及其系统 | |
CN102073710B (zh) | 一种网页分割方法 | |
EP2599013A1 (en) | Visual separator detection in web pages by using code analysis | |
Herr et al. | Movies and actors: Mapping the internet movie database | |
CN110211031B (zh) | 基于递归划分的多类散点图采样方法、系统、存储介质及设备 | |
CN103064849B (zh) | 一种层叠样式表处理方法和装置 | |
CN113987367B (zh) | 一种基于Render_DOM模型的网页净化系统及其净化方法 | |
CN104182424B (zh) | 适用于移动终端的网页处理方法和服务器 | |
CN107562763A (zh) | 数据变化的显示方法及装置 | |
CN110083760B (zh) | 一种基于可视块的多记录型动态网页信息提取方法 | |
Shieh et al. | Directed graphs drawing by clan-based decomposition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |