发明内容
为了解决现有技术的问题,本发明实施例提供了一种识别相似网页的方法及装置。所述技术方案如下:
第一方面,本发明实施例提供的一种识别相似网页的方法包括:
分别获取待分类的第一网页的超文本标记语言HTML元素信息和已知类别信息的第二网页的HTML元素信息;
根据所述第一网页和所述第二网页的HTML元素信息,计算所述第一网页和所述第二网页的相似度;
当所述相似度大于预设相似阈值时,确定所述第一网页和所述第二网页为相似网页。
在第一方面的第一种可能的实现方式中,所述分别获取待分类的第一网页和已知类别信息的第二网页的超文本标记语言HTML元素信息,包括:
根据待分类的第一网页的统一资源定位符URL地址,获取所述第一网页的文档对象模型DOM结构信息;
在已知类别网页数据库中获取已知类别信息的第二网页的DOM结构信息;
分别对所述第一网页的DOM结构信息和所述第二网页的DOM结构信息进行广度优先遍历,生成所述第一网页的HTML元素信息的第一序列集合和所述第二网页的HTML元素信息的第二序列集合;
删除所述第一序列集合中与网页结构无关的HTML元素信息以及所述第二序列集合中与网页结构无关的HTML元素信息。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述删除所述第一序列集合中与网页结构无关的HTML元素信息以及所述第二序列集合中与网页结构无关的HTML元素信息,包括:
将所述第一序列集合中未在预设的与网页结构相关的HTML元素信息列表中存在的HTML元素信息进行删除;
将所述第二序列集合中未在预设的与网页结构相关的HTML元素信息列表中存在的HTML元素信息进行删除。
结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述根据所述第一网页和所述第二网页的HTML元素信息,计算所述第一网页和所述第二网页的相似度,包括:
获取所述第一序列集合包括的HTML元素信息的第一数量;
获取所述第二序列集合包括的HTML元素信息的第二数量;
根据所述第一数量和所述第二数量,计算所述第一网页和所述第二网页的相似度。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述根据所述第一数量和所述第二数量,计算所述第一网页和所述第二网页的相似度,包括:
若所述第一数量等于所述第二数量,则根据序列相似度算法计算所述第一序列集合与所述第二序列集合的相似度,并将所述相似度确定为所述第一网页和所述第二网页的相似度;
若所述第一数量大于所述第二数量,则在所述第一序列集合中按顺序选取所述第二数量的HTML元素信息作为新的第一序列集合,并根据序列相似度算法计算所述新的第一序列集合与所述第二序列集合的相似度,并将所述相似度确定为所述第一网页和所述第二网页的相似度;
若所述第一数量小于所述第二数量,则在所述第二序列集合中按顺序选取所述第一数量的HTML元素信息作为新的第二序列集合,并根据序列相似度算法计算所述第一序列集合与所述新的第二序列集合的相似度,并将所述相似度确定为所述第一网页和所述第二网页的相似度。
在第一方面的第五种可能的实现方式中,所述确定所述第一网页和所述第二网页为相似网页之后,所述方法还包括:
获取所述第二网页的类别信息;
将所述第一网页的类别信息设置为所述第二网页的类别信息。
第二方面,本发明实施例提供的一种识别相似网页的装置包括:
第一获取模块,用于分别获取待分类的第一网页的超文本标记语言HTML元素信息和已知类别信息的第二网页的HTML元素信息;
计算模块,用于根据所述第一网页和所述第二网页的HTML元素信息,计算所述第一网页和所述第二网页的相似度;
确定模块,用于当所述相似度大于预设相似阈值时,确定所述第一网页和所述第二网页为相似网页。
在第二方面的第一种可能的实现方式中,所述第一获取模块,包括:
第一获取单元,用于根据待分类的第一网页的统一资源定位符URL地址,获取所述第一网页的文档对象模型DOM结构信息;
第二获取单元,用于在已知类别网页数据库中获取已知类别信息的第二网页的DOM结构信息;
生成单元,用于分别对所述第一网页的DOM结构信息和所述第二网页的DOM结构信息进行广度优先遍历,生成所述第一网页的HTML元素信息的第一序列集合和所述第二网页的HTML元素信息的第二序列集合;
删除单元,用于删除所述第一序列集合中与网页结构无关的HTML元素信息以及所述第二序列集合中与网页结构无关的HTML元素信息。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述删除单元,包括:
第一删除子单元,用于将所述第一序列集合中未在预设的与网页结构相关的HTML元素信息列表中存在的HTML元素信息进行删除;
第二删除子单元,用于将所述第二序列集合中未在预设的与网页结构相关的HTML元素信息列表中存在的HTML元素信息进行删除。
结合第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述计算模块,包括:
第三获取单元,用于获取所述第一序列集合包括的HTML元素信息的第一数量;
第四获取单元,用于获取所述第二序列集合包括的HTML元素信息的第二数量;
计算单元,用于根据所述第一数量和所述第二数量,计算所述第一网页和所述第二网页的相似度。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述计算单元,包括:
第一计算子单元,用于若所述第一数量等于所述第二数量,则根据序列相似度算法计算所述第一序列集合与所述第二序列集合的相似度,并将所述相似度确定为所述第一网页和所述第二网页的相似度;
第二计算子单元,用于若所述第一数量大于所述第二数量,则在所述第一序列集合中按顺序选取所述第二数量的HTML元素信息作为新的第一序列集合,并根据序列相似度算法计算所述新的第一序列集合与所述第二序列集合的相似度,并将所述相似度确定为所述第一网页和所述第二网页的相似度;
第三计算子单元,用于若所述第一数量小于所述第二数量,则在所述第二序列集合中按顺序选取所述第一数量的HTML元素信息作为新的第二序列集合,并根据序列相似度算法计算所述第一序列集合与所述新的第二序列集合的相似度,并将所述相似度确定为所述第一网页和所述第二网页的相似度。
在第二方面的第五种可能的实现方式中,所述装置还包括:
第二获取模块,用于获取所述第二网页的类别信息;
设置模块,用于将所述第一网页的类别信息设置为所述第二网页的类别信息。
本发明实施例提供的技术方案带来的有益效果是:
通过获取待分类的第一网页与已知类别的第二网页的HTML元素信息,并根据两个网页对应的HTML元素信息计算相似度,确定两个网页是否相似,弥补了现有技术中人工判断网页相似度效率低下以及通过直方图判断网页相似度误判率较高的缺陷。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种识别相似网页的方法,参见图1,方法流程包括:
101:分别获取待分类的第一网页的超文本标记语言HTML元素信息和已知类别信息的第二网页的HTML元素信息;
102:根据所述第一网页和所述第二网页的HTML元素信息,计算所述第一网页和所述第二网页的相似度;
103:当所述相似度大于预设相似阈值时,确定所述第一网页和所述第二网页为相似网页。
本发明实施例通过获取待分类的第一网页与已知类别的第二网页的HTML元素信息,并根据两个网页对应的HTML元素信息计算相似度,确定两个网页是否相似,弥补了现有技术中人工判断网页相似度效率低下以及通过直方图判断网页相似度误判率较高的缺陷。
实施例二
本发明实施例提供了一种识别相似网页的方法,参见图2,方法流程包括:
201:分别获取待分类的第一网页的超文本标记语言HTML元素信息和已知类别信息的第二网页的HTML元素信息。
步骤201可以具体为:
2011:根据待分类的第一网页的统一资源定位符URL地址,获取所述第一网页的文档对象模型DOM结构信息。
通过网页爬虫爬取指定的URL对应的待分类的第一网页的网页信息,其中网页信息为该网页的HTML代码,从HTML代码中获取第一网页的DOM结构信息。
2012:在已知类别网页数据库中获取已知类别信息的第二网页的DOM结构信息。
第二网页泛指在已知类别网页数据库中的网页,在查找待分类的第一网页的类别时将已知类别网页数据库中的已知类别信息的网页与第一网页进行相似度计算。因此第二网页可以为已知类别网页数据库中的任一网页,在已知类别网页数据库中获取第二网页,第二网页的DOM结构信息在已知类别网页数据库中是已经存在的信息。
例如:一段网页的HTML代码如下:
获取到的该网页对应的DOM结构信息如图3所示。
2013:分别对所述第一网页的DOM结构信息和所述第二网页的DOM结构信息进行广度优先遍历,生成所述第一网页的HTML元素信息的第一序列集合和所述第二网页的HTML元素信息的第二序列集合。
对DOM结构信息进行广度优先遍历,其中广度优先遍历是从DOM结构信息中的顶点出发,首先访问这个顶点,然后找出这个结点的所有未被访问的邻接点,访问完后再访问这些结点中第一个邻接点的所有结点,重复此方法直到所有结点都被访问完为止。在DOM结构信息中进行广度优先遍历后得到的是该网页对应的序列集合。
进一步的,以步骤2012中的例子为例,该网页的DOM结构信息经过广度优先遍历后得到的序列集合如表1所示:
序列的项的编号 |
序列的项 |
1 |
head |
2 |
body |
3 |
title |
4 |
meta |
5 |
form |
6 |
table |
7 |
input |
8 |
tr |
9 |
tr |
10 |
td |
11 |
td |
12 |
td |
13 |
td |
14 |
img |
15 |
input |
16 |
img |
17 |
input |
表1
2014:删除所述第一序列集合中与网页结构无关的HTML元素信息以及所述第二序列集合中与网页结构无关的HTML元素信息。
在HTML元素信息的序列集合中有一些HTML元素是与网页结构没有直接联系的,只保留对网页结构有关系的HTML元素信息。其中预设的与网页结构相关的的HTML元素信息列表可以如表2所示,其中并不限定该表中的元素信息内容,一切与网页结构相关的HTML元素信息都可属于该预设的与网页结构相关的的HTML元素信息列表中。
HTML元素 |
说明 |
<form> |
表单 |
<frame> |
框架 |
<frameset> |
框架集 |
<iframe> |
内联框架 |
<img> |
嵌入的图像 |
<input type="button"> |
按钮 |
<input type="checkbox"> |
选择框 |
<input type="file"> |
文件上传框 |
<input type="password"> |
密码域 |
<input type="radio"> |
单选按钮 |
<input type="reset″> |
重置按钮 |
<input type="submit"> |
提交按钮 |
<input type="text″> |
文本框 |
<select> |
下拉列表 |
<table> |
表格 |
<textarea> |
文本区 |
表2
因此在去除其他对网页结构无关的代码后,表1中的HTML元素信息的序列集合如表3所示:
序列的项的编号 |
序列的项 |
1 |
form |
2 |
table |
3 |
input |
4 |
img |
5 |
input |
6 |
img |
7 |
input |
表3
因此步骤2014可以具体为:
20141:将所述第一序列集合中未在预设的与网页结构相关的HTML元素信息列表中存在的HTML元素信息进行删除;
20142:将所述第二序列集合中未在预设的与网页结构相关的HTML元素信息列表中存在的HTML元素信息进行删除。
202:根据所述第一网页和所述第二网页的HTML元素信息,计算所述第一网页和所述第二网页的相似度。
步骤202可以具体为:
2021:获取所述第一序列集合包括的HTML元素信息的第一数量。
根据序列集合中的项的编号获取第一网页的HTML元素信息的序列集合中元素信息的数量。
2022:获取所述第二序列集合包括的HTML元素信息的第二数量。
根据序列集合中的项的编号获取第二网页的HTML元素信息的序列集合中元素信息的数量。
2023:根据所述第一数量和所述第二数量,计算所述第一网页和所述第二网页的相似度。
以第一数量或第二数量中小的数量作为依据,在第一序列集合或第二序列集合中重新选取序列集合中的内容,然后对选取后的第一序列集合和第二序列集合进行相似度计算。
因此步骤2023可以具体为:
20231:若所述第一数量等于所述第二数量,则根据序列相似度算法计算所述第一序列集合与所述第二序列集合的相似度,并将所述相似度确定为所述第一网页和所述第二网页的相似度;
20232:若所述第一数量大于所述第二数量,则在所述第一序列集合中按顺序选取所述第二数量的HTML元素信息作为新的第一序列集合,并根据序列相似度算法计算所述新的第一序列集合与所述第二序列集合的相似度,并将所述相似度确定为所述第一网页和所述第二网页的相似度;
20233:若所述第一数量小于所述第二数量,则在所述第二序列集合中按顺序选取所述第一数量的HTML元素信息作为新的第二序列集合,并根据序列相似度算法计算所述第一序列集合与所述新的第二序列集合的相似度,并将所述相似度确定为所述第一网页和所述第二网页的相似度。
203:当所述相似度大于预设相似阈值时,确定所述第一网页和所述第二网页为相似网页。
预设阈值是通过人工随机选择大量网页进行分拣,标识出相似网页和不相似网页,分别计算网页的序列的相似度,并综合考虑准确率和召回率,最终确定的预设相似阈值。
进一步的,若选取的第二网页与第一网页不相似,则在已知类别网页数据库中继续获取另一个网页作为第二网页,与第一网页重新进行相似网页的识别过程,直至找到与第一网页相似的网页为止。之后执行将识别到的第二网页的类别信息设置为第一网页的类别信息的过程,执行步骤204和步骤205。
204:获取所述第二网页的类别信息。
205:将所述第一网页的类别信息设置为所述第二网页的类别信息。
设置后将第一网页的类别信息保存在已知类别网页数据库中。对于终端用户而言,在通过网关上网的时候,网关会到已知类别网页数据库中检索终端用户所访问的网页的分类,并根据管控策略对用户行为进行日志记录,若用户访问的是非法的网站,则进行阻断的操作。
本发明实施例通过获取待分类的第一网页与已知类别的第二网页的HTML元素信息,并根据两个网页对应的HTML元素信息计算相似度,确定两个网页是否相似,弥补了现有技术中人工判断网页相似度效率低下以及通过直方图判断网页相似度误判率较高的缺陷。
实施例三
本发明实施例提供了一种识别相似网页的装置,参见图4,装置包括:
第一获取模块401,用于分别获取待分类的第一网页的超文本标记语言HTML元素信息和已知类别信息的第二网页的HTML元素信息;
计算模块402,用于根据所述第一网页和所述第二网页的HTML元素信息,计算所述第一网页和所述第二网页的相似度;
确定模块403,用于当所述相似度大于预设相似阈值时,确定所述第一网页和所述第二网页为相似网页。
本发明实施例通过获取待分类的第一网页与已知类别的第二网页的HTML元素信息,并根据两个网页对应的HTML元素信息计算相似度,确定两个网页是否相似,弥补了现有技术中人工判断网页相似度效率低下以及通过直方图判断网页相似度误判率较高的缺陷。
实施例四
本发明实施例提供了一种识别相似网页的装置,参见图5,装置包括:
第一获取模块501,用于分别获取待分类的第一网页的超文本标记语言HTML元素信息和已知类别信息的第二网页的HTML元素信息;
计算模块502,用于根据所述第一网页和所述第二网页的HTML元素信息,计算所述第一网页和所述第二网页的相似度;
确定模块503,用于当所述相似度大于预设相似阈值时,确定所述第一网页和所述第二网页为相似网页。
在具体实施方式中,所述第一获取模块501,包括:
第一获取单元5011,用于根据待分类的第一网页的统一资源定位符URL地址,获取所述第一网页的文档对象模型DOM结构信息;
第二获取单元5012,用于在已知类别网页数据库中获取已知类别信息的第二网页的DOM结构信息;
生成单元5013,用于分别对所述第一网页的DOM结构信息和所述第二网页的DOM结构信息进行广度优先遍历,生成所述第一网页的HTML元素信息的第一序列集合和所述第二网页的HTML元素信息的第二序列集合;
删除单元5014,用于删除所述第一序列集合中与网页结构无关的HTML元素信息以及所述第二序列集合中与网页结构无关的HTML元素信息。
其中,所述删除单元5014,包括:
第一删除子单元50141,用于将所述第一序列集合中未在预设的与网页结构相关的HTML元素信息列表中存在的HTML元素信息进行删除;
第二删除子单元50142,用于将所述第二序列集合中未在预设的与网页结构相关的HTML元素信息列表中存在的HTML元素信息进行删除。
其中,所述计算模块502,包括:
第三获取单元5021,用于获取所述第一序列集合包括的HTML元素信息的第一数量;
第四获取单元5022,用于获取所述第二序列集合包括的HTML元素信息的第二数量;
计算单元5023,用于根据所述第一数量和所述第二数量,计算所述第一网页和所述第二网页的相似度。
其中,所述计算单元5023,包括:
第一计算子单元50231,用于若所述第一数量等于所述第二数量,则根据序列相似度算法计算所述第一序列集合与所述第二序列集合的相似度,并将所述相似度确定为所述第一网页和所述第二网页的相似度;
第二计算子单元50232,用于若所述第一数量大于所述第二数量,则在所述第一序列集合中按顺序选取所述第二数量的HTML元素信息作为新的第一序列集合,并根据序列相似度算法计算所述新的第一序列集合与所述第二序列集合的相似度,并将所述相似度确定为所述第一网页和所述第二网页的相似度;
第三计算子单元50233,用于若所述第一数量小于所述第二数量,则在所述第二序列集合中按顺序选取所述第一数量的HTML元素信息作为新的第二序列集合,并根据序列相似度算法计算所述第一序列集合与所述新的第二序列集合的相似度,并将所述相似度确定为所述第一网页和所述第二网页的相似度。
其中,所述装置还包括:
第二获取模块504,用于获取所述第二网页的类别信息;
设置模块505,用于将所述第一网页的类别信息设置为所述第二网页的类别信息。
本发明实施例通过获取待分类的第一网页与已知类别的第二网页的HTML元素信息,并根据两个网页对应的HTML元素信息计算相似度,确定两个网页是否相似,弥补了现有技术中人工判断网页相似度效率低下以及通过直方图判断网页相似度误判率较高的缺陷。
实施例五
本发明实施例提供了一种识别相似网页的装置,参见图6,装置包括:
存储器601和至少一个处理器602,所述处理器602被配置为执行如下显示图片的操作:
分别获取待分类的第一网页的超文本标记语言HTML元素信息和已知类别信息的第二网页的HTML元素信息;
根据所述第一网页和所述第二网页的HTML元素信息,计算所述第一网页和所述第二网页的相似度;
当所述相似度大于预设相似阈值时,确定所述第一网页和所述第二网页为相似网页。
所述分别获取待分类的第一网页和已知类别信息的第二网页的超文本标记语言HTML元素信息,包括:
根据待分类的第一网页的统一资源定位符URL地址,获取所述第一网页的文档对象模型DOM结构信息;
在已知类别网页数据库中获取已知类别信息的第二网页的DOM结构信息;
分别对所述第一网页的DOM结构信息和所述第二网页的DOM结构信息进行广度优先遍历,生成所述第一网页的HTML元素信息的第一序列集合和所述第二网页的HTML元素信息的第二序列集合;
删除所述第一序列集合中与网页结构无关的HTML元素信息以及所述第二序列集合中与网页结构无关的HTML元素信息。
所述删除所述第一序列集合中与网页结构无关的HTML元素信息以及所述第二序列集合中与网页结构无关的HTML元素信息,包括:
将所述第一序列集合中未在预设的与网页结构相关的HTML元素信息列表中存在的HTML元素信息进行删除;
将所述第二序列集合中未在预设的与网页结构相关的HTML元素信息列表中存在的HTML元素信息进行删除。
所述根据所述第一网页和所述第二网页的HTML元素信息,计算所述第一网页和所述第二网页的相似度,包括:
获取所述第一序列集合包括的HTML元素信息的第一数量;
获取所述第二序列集合包括的HTML元素信息的第二数量;
根据所述第一数量和所述第二数量,计算所述第一网页和所述第二网页的相似度。
所述根据所述第一数量和所述第二数量,计算所述第一网页和所述第二网页的相似度,包括:
若所述第一数量等于所述第二数量,则根据序列相似度算法计算所述第一序列集合与所述第二序列集合的相似度,并将所述相似度确定为所述第一网页和所述第二网页的相似度;
若所述第一数量大于所述第二数量,则在所述第一序列集合中按顺序选取所述第二数量的HTML元素信息作为新的第一序列集合,并根据序列相似度算法计算所述新的第一序列集合与所述第二序列集合的相似度,并将所述相似度确定为所述第一网页和所述第二网页的相似度;
若所述第一数量小于所述第二数量,则在所述第二序列集合中按顺序选取所述第一数量的HTML元素信息作为新的第二序列集合,并根据序列相似度算法计算所述第一序列集合与所述新的第二序列集合的相似度,并将所述相似度确定为所述第一网页和所述第二网页的相似度。
所述确定所述第一网页和所述第二网页为相似网页之后,所述方法还包括:
获取所述第二网页的类别信息;
将所述第一网页的类别信息设置为所述第二网页的类别信息。
本发明实施例通过获取待分类的第一网页与已知类别的第二网页的HTML元素信息,并根据两个网页对应的HTML元素信息计算相似度,确定两个网页是否相似,弥补了现有技术中人工判断网页相似度效率低下以及通过直方图判断网页相似度误判率较高的缺陷。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。