本发明涉及互联网技术领域,尤其涉及一种面向网络新媒体的页面链接去重扫描方法及装置。
背景技术:
网站通过伪静态技术,存在大量相似url(uniformresourcelocator,统一资源定位符)链接、相似页面结构的页面。在扫描过程中对相似url进行过滤去重,可防止对相似页面进行重复爬取,避免了爬虫记录重复数据,也加快了爬行速度。
对于网站url去重扫描,目前较主流的方法有两种:
1)url特征值法:直接将网页url作为去重特征值。
2)hash特征值法:将网页url做hash运算,得到hash值作为去重特征值。
3)url种子特征法:根据url出现的种子特征编写正则表达式,将url转换为统一特征串作为去重特征值。
上述方案能够获得去重特征值,实现url的过滤去重,但是去重效率较低。
技术实现要素:
本发明要解决的技术问题是,提供一种面向网络新媒体的网页链接去重扫描方法及装置,在网站url爬行过程中,减少爬行工作强度,提供工作效率。
本发明采用的技术方案是,面向网络新媒体的页面链接去重扫描方法,包括:
步骤一,对目标网站url进行字段拆解处理;
步骤二,对拆解得到的字段进行分段处理,基于分段处理的结果生成链接特征值;
步骤三,将生成的链接特征值与链接特征库存储的特征值进行比较,以判断出目标网站url是否为重复url。
进一步的,步骤一,具体包括:
将所述目标网站url拆解为六个字段,包括:主机名host字段、高层路径upperpath字段、低层路径lowerpath字段、文件名filename字段、文件后缀名fileextension字段和请求query字段。
进一步的,所述upperpath字段与lowerpath字段的拆解方式,包括:
对host字段相同的url路径进行同层级路径字符距离计算,层级间字符距离最小的层级对应字段为upperpath字段,其余层级对应的字段为lowerpath字段。
进一步的,在步骤二中,所述对拆解得到的字段进行分段处理,包括:
对host字段和upperpath字段进行哈希算法hash处理,生成hash特征值;
对lowerpath字段和filename字段进行逆正则处理,生成逆正则特征值;
将fileextension字段和query字段直接作为其他特征值。
进一步的,所述逆正则处理,包括:
顺序针对字母和数字进行如下处理:将字母和数字替换为对应的元字符,若同一元字符连续出现多次,则在该元字符前显示该元字符出现的次数。
进一步的,在步骤二中,所述基于分段处理的结果生成链接特征值,包括:
将hash特征值、逆正则特征值和其他特征值共同组成链接特征值。
进一步的,步骤三,包括:
若生成的链接特征值与链接特征库存储的特征值匹配,则将所述目标网站url判定为重复url;
若生成的链接特征值与链接特征库存储的特征值不匹配,则将所述目标网站url判定为不重复url,同时将链接特征值存储至链接特征库。
本发明还提供一种面向网络新媒体的页面链接去重扫描装置,包括:
拆解模块,用于对目标网站url进行字段拆解处理;
分段处理模块,用于对拆解得到的字段进行分段处理,基于分段处理的结果生成链接特征值;
比较模块,用于将生成的链接特征值与链接特征库存储的特征值进行比较,以判断出目标网站url是否为重复url。
进一步的,所述拆解模块,用于:
将所述目标网站url拆解为六个字段,包括:主机名host字段、高层路径upperpath字段、低层路径lowerpath字段、文件名filename字段、文件后缀名fileextension字段和请求query字段。
进一步的,所述拆解模块,具体用于:
对host字段相同的url路径进行同层级路径字符距离计算,层级间字符距离最小的层级对应字段为upperpath字段,其余层级对应的字段为lowerpath字段。
进一步的,所述分段处理模块,具体用于:
对host字段和upperpath字段进行哈希算法hash处理,生成hash特征值;
对lowerpath字段和filename字段进行逆正则处理,生成逆正则特征值;
将fileextension字段和query字段直接作为其他特征值。
进一步的,所述逆正则处理,具体用于:
顺序针对字母和数字进行如下处理:将字母和数字替换为对应的元字符,若同一元字符连续出现多次,则在该元字符前显示该元字符出现的次数。
进一步的,所述分段处理模块,具体用于:
将hash特征值、逆正则特征值和其他特征值共同组成链接特征值。
进一步的,所述比较模块,用于:
若生成的链接特征值与链接特征库存储的特征值匹配,则将所述目标网站url判定为重复url;
若生成的链接特征值与链接特征库存储的特征值不匹配,则将所述目标网站url判定为不重复url,同时将链接特征值存储至链接特征库。
采用上述技术方案,本发明至少具有下列优点:
本发明所述网站url去重扫描方法及装置,可以实现对爬行目标网站的url拆解字段处理,并对拆解得到的字段进行分段处理,生成链接特征值,并与链接特征库中存储的特征值进行比较,以判断目标url是否为重复页面,从而有效减少爬行工作强度,提高工作效率。
附图说明
图1为本发明第一实施例的网站url去重扫描方法流程图;
图2为本发明第二实施例的网站url去重扫描装置组成结构示意图;
图3为本发明第三实施例网站url去重扫描具体方法示意图。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
本发明第一实施例,一种面向网络新媒体的页面链接去重扫描方法,如图1所示,包括以下具体步骤:
步骤s101,对目标网站url进行字段拆解处理。
具体的,步骤s101包括:
根据爬行获得的目标网站url进行字段拆解,将网站url分为六个字段,包括:host(主机名)、upperpath(高层路径)、lowerpath(低层路径)、filename(文件名)、fileextension(文件后缀名)和query(请求)。
上述upperpath字段与lowerpath字段通过对host字段相同url的path(路径)进行同层级路径字符距离计算获得,path层级间字符距离最小的层级为upperpath字段,其余path层级为lowerpath字段。
步骤s102,对拆解得到的字段进行分段处理,基于分段处理的结果生成链接特征值。
具体的,步骤s102包括:
1)对host字段和upperpath字段进行hash(哈希算法)处理,生成hash特征值。
2)对lowerpath字段和filename字段进行逆正则处理生成逆正则特征值,具体方法如下:
顺序判断字母和数字,将字母和数字替换为元字符,字母使用元字符s,数字使用元字符i,当同一元字符连续出现多次,在元字符前显示该元字符出现的次数。
3)将fileextension字段和query字段直接作为其他特征值。
4)将hash特征值、逆正则特征值和其他特征值共同组成链接特征值。
步骤s103,将生成的链接特征值与链接特征库存储的特征值进行比较,以判断出目标网站url是否为重复url。
具体的,步骤s103包括:
通过生成的链接特征值与链接特征库存储的特征值进行比较,
若生成的链接特征值与链接特征库存储的特征值匹配,则将所述目标网站url判定为重复url;
若生成的链接特征值与链接特征库存储的特征值不匹配,则将所述目标网 站url判定为不重复url,同时将链接特征值存储至链接特征库。
本发明第二实施例,与第一实施例对应,本实施例介绍一种面向网络新媒体的页面链接去重扫描装置,如图2所示,包括以下组成部分:
1)拆解模块100,用于对目标网站url进行拆解字段处理;
具体的,拆解模块100根据爬行获得的目标网站url进行字段拆解,将网站url分为六个字段,包括:host(主机名)、upperpath(高层路径)、lowerpath(低层路径)、filename(文件名)、fileextension(文件后缀名)和query(请求)。
上述upperpath字段与lowerpath字段通过对host字段相同的url路径path进行同层级路径字符距离计算获得,path层级间字符距离最小的层级为upperpath字段,其余path层级为lowerpath字段。
2)分段处理模块200,用于对拆解得到的字段进行分段处理,基于分段处理的结果生成链接特征值;
具体的,分段处理模块200对host字段和upperpath字段进行hash(哈希算法)处理,生成hash特征值;
对lowerpath字段和filename字段进行逆正则处理,生成逆正则特征值;
将fileextension字段和query字段直接作为其他特征值;
将hash特征值、逆正则特征值和其他特征值共同组成链接特征值。
3)比较模块300,用于将生成的链接特征值与链接特征库存储的特征值进行比较,以判断出目标网站url是否为重复url。
具体的,若生成的链接特征值与链接特征库存储的特征值匹配,则将所述目标网站url判定为重复url;
若生成的链接特征值与链接特征库存储的特征值不匹配,则将所述目标网站url判定为不重复url,同时将链接特征值存储至链接特征库。
本发明第三实施例,本实施例是在上述实施例的基础上,以一种面向网络 新媒体的页面链接去重扫描方法为例,结合附图3介绍一个本发明的应用实例。
如图3所示,本实施例的面向网络新媒体的页面链接去重扫描方法,包括如下步骤:
步骤一,对url中host相同的url进行预爬行。
具体的,步骤一包括:
在正式url爬行前,对于url中host相同的url进行预爬行,以计算upperpath与lowerpath的路径深度。
所述url预爬行是按照爬行入口url进行距离为较少跳的爬取。
例如,距离设置为2,首页为爬行入口url,则距离为2的预爬行会爬行到首页、所有一级菜单和二级菜单页面上的url。
所述upperpath与lowerpath的path(路径)深度计算方法通过同级path字符距离计算各层级字符距离,path层级间字符距离最小的层级对应的字段为upperpath字段,其余层级对应的字段为lowerpath字段。
例如,预爬行获得的第一个url为:
http://www.jlntv.cn/news/folder783/2015-10-09/66597.html?lang=cn
path为news/folder783/2015-10-09
预爬行获得的第二个url为:
http://www.jlntv.cn/news/folder786/2015-11-11/66599.html?lang=cn
path为news/folder786/2015-11-11
则两个url的path第一层级(news)的字符距离为0;
两个url的path第二层级(folder783与folder786)的字符距离为3;
两个url的path第三层级(2015-10-09与2015-11-11)的字符距离为10。
则upperpath字段为news/;
第一个url的lowerpath字段为folder783/2015-10-09;
第二个url的lowerpath字段为folder786/2015-11-11。
步骤二,正式爬行获取新的网站url。
具体的,例如,获得的url为:
http://www.jlntv.cn/news/folder783/2015-10-09/66597.html?lang=cn
步骤三,将获得的url拆解为六个字段。
具体的,步骤三包括:
根据爬行获得的网站url进行拆解,将网站url分为六个字段,包括:
host字段:www.jlntv.cn/
upperpath字段:news/
lowerpath字段:folder783/2015-10-09/
filename字段:66597
fileextention字段:html
query字段:lang=cn
步骤四,根据网站url分段处理得到的六个字段进行处理,生成链接特征值。
具体的,步骤四包括:
对host字段和upperpath字段进行hash(哈希算法)处理,生成hash特征值,例如:
www.jlntv.cn/news进行hash处理,生成hash特征值:
d800866128caa7c82fc1305db29ba829。
对lowerpath字段和filename字段进行逆正则处理,生成逆正则特征值,例如:
folder783/2015-10-09/66597进行逆正则处理,顺序判断字母和数字,将字母和数字替换为元字符,字母使用元字符s,数字使用元字符i,当同一元字符连续出现多次,在元字符前显示该元字符出现的次数,生成逆正则特征值:
4s/4i-2i-2i/5i。
将fileextension字段和query字段直接作为其他特征值。
将hash特征值、逆正则特征值和其他特征值共同组成链接特征值,例如:
d800866128caa7c82fc1305db29ba8294s/4i-2i-2i/5i.html?lang=cn
步骤五,将生成的链接特征值与链接特征库存储的特征值进行比较,以判断出目标网站url是否为重复url。
具体的,步骤五包括:
通过生成的链接特征值与链接特征库存储的特征值比较。若生成的链接特征值与链接特征库存储的特征值匹配,则将该网站url判定为重复url,返回步骤二,重新正式爬行获取新的网站url。
若生成的链接特征值与链接特征库存储的特征值不匹配,则将该网站url判定为不重复url。
步骤六,将不重复的网站url特征值存储至链接特征库。
具体的,步骤六还包括:
当完成不重复的网站url特征值存储至链接特征库,返回步骤二,重新正式爬行获取新的网站url。
本发明实施例的上述实现网站url去重扫描方法及装置,克服了现有技术对网站url生成特征值并与已有特征值进行比较实现url重复扫描效率低、工作强度大的缺陷,可以实现快速url去重扫描,提高去重准确率,降低工作强度。
通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。