本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種面向網(wǎng)絡(luò)新媒體的頁(yè)面鏈接去重掃描方法及裝置。
背景技術(shù):
網(wǎng)站通過(guò)偽靜態(tài)技術(shù),存在大量相似url(uniformresourcelocator,統(tǒng)一資源定位符)鏈接、相似頁(yè)面結(jié)構(gòu)的頁(yè)面。在掃描過(guò)程中對(duì)相似url進(jìn)行過(guò)濾去重,可防止對(duì)相似頁(yè)面進(jìn)行重復(fù)爬取,避免了爬蟲(chóng)記錄重復(fù)數(shù)據(jù),也加快了爬行速度。
對(duì)于網(wǎng)站url去重掃描,目前較主流的方法有兩種:
1)url特征值法:直接將網(wǎng)頁(yè)url作為去重特征值。
2)hash特征值法:將網(wǎng)頁(yè)url做hash運(yùn)算,得到hash值作為去重特征值。
3)url種子特征法:根據(jù)url出現(xiàn)的種子特征編寫(xiě)正則表達(dá)式,將url轉(zhuǎn)換為統(tǒng)一特征串作為去重特征值。
上述方案能夠獲得去重特征值,實(shí)現(xiàn)url的過(guò)濾去重,但是去重效率較低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問(wèn)題是,提供一種面向網(wǎng)絡(luò)新媒體的網(wǎng)頁(yè)鏈接去重掃描方法及裝置,在網(wǎng)站url爬行過(guò)程中,減少爬行工作強(qiáng)度,提供工作效率。
本發(fā)明采用的技術(shù)方案是,面向網(wǎng)絡(luò)新媒體的頁(yè)面鏈接去重掃描方法,包括:
步驟一,對(duì)目標(biāo)網(wǎng)站url進(jìn)行字段拆解處理;
步驟二,對(duì)拆解得到的字段進(jìn)行分段處理,基于分段處理的結(jié)果生成鏈接特征值;
步驟三,將生成的鏈接特征值與鏈接特征庫(kù)存儲(chǔ)的特征值進(jìn)行比較,以判斷出目標(biāo)網(wǎng)站url是否為重復(fù)url。
進(jìn)一步的,步驟一,具體包括:
將所述目標(biāo)網(wǎng)站url拆解為六個(gè)字段,包括:主機(jī)名host字段、高層路徑upperpath字段、低層路徑lowerpath字段、文件名filename字段、文件后綴名fileextension字段和請(qǐng)求query字段。
進(jìn)一步的,所述upperpath字段與lowerpath字段的拆解方式,包括:
對(duì)host字段相同的url路徑進(jìn)行同層級(jí)路徑字符距離計(jì)算,層級(jí)間字符距離最小的層級(jí)對(duì)應(yīng)字段為upperpath字段,其余層級(jí)對(duì)應(yīng)的字段為lowerpath字段。
進(jìn)一步的,在步驟二中,所述對(duì)拆解得到的字段進(jìn)行分段處理,包括:
對(duì)host字段和upperpath字段進(jìn)行哈希算法hash處理,生成hash特征值;
對(duì)lowerpath字段和filename字段進(jìn)行逆正則處理,生成逆正則特征值;
將fileextension字段和query字段直接作為其他特征值。
進(jìn)一步的,所述逆正則處理,包括:
順序針對(duì)字母和數(shù)字進(jìn)行如下處理:將字母和數(shù)字替換為對(duì)應(yīng)的元字符,若同一元字符連續(xù)出現(xiàn)多次,則在該元字符前顯示該元字符出現(xiàn)的次數(shù)。
進(jìn)一步的,在步驟二中,所述基于分段處理的結(jié)果生成鏈接特征值,包括:
將hash特征值、逆正則特征值和其他特征值共同組成鏈接特征值。
進(jìn)一步的,步驟三,包括:
若生成的鏈接特征值與鏈接特征庫(kù)存儲(chǔ)的特征值匹配,則將所述目標(biāo)網(wǎng)站url判定為重復(fù)url;
若生成的鏈接特征值與鏈接特征庫(kù)存儲(chǔ)的特征值不匹配,則將所述目標(biāo)網(wǎng)站url判定為不重復(fù)url,同時(shí)將鏈接特征值存儲(chǔ)至鏈接特征庫(kù)。
本發(fā)明還提供一種面向網(wǎng)絡(luò)新媒體的頁(yè)面鏈接去重掃描裝置,包括:
拆解模塊,用于對(duì)目標(biāo)網(wǎng)站url進(jìn)行字段拆解處理;
分段處理模塊,用于對(duì)拆解得到的字段進(jìn)行分段處理,基于分段處理的結(jié)果生成鏈接特征值;
比較模塊,用于將生成的鏈接特征值與鏈接特征庫(kù)存儲(chǔ)的特征值進(jìn)行比較,以判斷出目標(biāo)網(wǎng)站url是否為重復(fù)url。
進(jìn)一步的,所述拆解模塊,用于:
將所述目標(biāo)網(wǎng)站url拆解為六個(gè)字段,包括:主機(jī)名host字段、高層路徑upperpath字段、低層路徑lowerpath字段、文件名filename字段、文件后綴名fileextension字段和請(qǐng)求query字段。
進(jìn)一步的,所述拆解模塊,具體用于:
對(duì)host字段相同的url路徑進(jìn)行同層級(jí)路徑字符距離計(jì)算,層級(jí)間字符距離最小的層級(jí)對(duì)應(yīng)字段為upperpath字段,其余層級(jí)對(duì)應(yīng)的字段為lowerpath字段。
進(jìn)一步的,所述分段處理模塊,具體用于:
對(duì)host字段和upperpath字段進(jìn)行哈希算法hash處理,生成hash特征值;
對(duì)lowerpath字段和filename字段進(jìn)行逆正則處理,生成逆正則特征值;
將fileextension字段和query字段直接作為其他特征值。
進(jìn)一步的,所述逆正則處理,具體用于:
順序針對(duì)字母和數(shù)字進(jìn)行如下處理:將字母和數(shù)字替換為對(duì)應(yīng)的元字符,若同一元字符連續(xù)出現(xiàn)多次,則在該元字符前顯示該元字符出現(xiàn)的次數(shù)。
進(jìn)一步的,所述分段處理模塊,具體用于:
將hash特征值、逆正則特征值和其他特征值共同組成鏈接特征值。
進(jìn)一步的,所述比較模塊,用于:
若生成的鏈接特征值與鏈接特征庫(kù)存儲(chǔ)的特征值匹配,則將所述目標(biāo)網(wǎng)站url判定為重復(fù)url;
若生成的鏈接特征值與鏈接特征庫(kù)存儲(chǔ)的特征值不匹配,則將所述目標(biāo)網(wǎng)站url判定為不重復(fù)url,同時(shí)將鏈接特征值存儲(chǔ)至鏈接特征庫(kù)。
采用上述技術(shù)方案,本發(fā)明至少具有下列優(yōu)點(diǎn):
本發(fā)明所述網(wǎng)站url去重掃描方法及裝置,可以實(shí)現(xiàn)對(duì)爬行目標(biāo)網(wǎng)站的url拆解字段處理,并對(duì)拆解得到的字段進(jìn)行分段處理,生成鏈接特征值,并與鏈接特征庫(kù)中存儲(chǔ)的特征值進(jìn)行比較,以判斷目標(biāo)url是否為重復(fù)頁(yè)面,從而有效減少爬行工作強(qiáng)度,提高工作效率。
附圖說(shuō)明
圖1為本發(fā)明第一實(shí)施例的網(wǎng)站url去重掃描方法流程圖;
圖2為本發(fā)明第二實(shí)施例的網(wǎng)站url去重掃描裝置組成結(jié)構(gòu)示意圖;
圖3為本發(fā)明第三實(shí)施例網(wǎng)站url去重掃描具體方法示意圖。
具體實(shí)施方式
為更進(jìn)一步闡述本發(fā)明為達(dá)成預(yù)定目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實(shí)施例,對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明如后。
本發(fā)明第一實(shí)施例,一種面向網(wǎng)絡(luò)新媒體的頁(yè)面鏈接去重掃描方法,如圖1所示,包括以下具體步驟:
步驟s101,對(duì)目標(biāo)網(wǎng)站url進(jìn)行字段拆解處理。
具體的,步驟s101包括:
根據(jù)爬行獲得的目標(biāo)網(wǎng)站url進(jìn)行字段拆解,將網(wǎng)站url分為六個(gè)字段,包括:host(主機(jī)名)、upperpath(高層路徑)、lowerpath(低層路徑)、filename(文件名)、fileextension(文件后綴名)和query(請(qǐng)求)。
上述upperpath字段與lowerpath字段通過(guò)對(duì)host字段相同url的path(路徑)進(jìn)行同層級(jí)路徑字符距離計(jì)算獲得,path層級(jí)間字符距離最小的層級(jí)為upperpath字段,其余path層級(jí)為lowerpath字段。
步驟s102,對(duì)拆解得到的字段進(jìn)行分段處理,基于分段處理的結(jié)果生成鏈接特征值。
具體的,步驟s102包括:
1)對(duì)host字段和upperpath字段進(jìn)行hash(哈希算法)處理,生成hash特征值。
2)對(duì)lowerpath字段和filename字段進(jìn)行逆正則處理生成逆正則特征值,具體方法如下:
順序判斷字母和數(shù)字,將字母和數(shù)字替換為元字符,字母使用元字符s,數(shù)字使用元字符i,當(dāng)同一元字符連續(xù)出現(xiàn)多次,在元字符前顯示該元字符出現(xiàn)的次數(shù)。
3)將fileextension字段和query字段直接作為其他特征值。
4)將hash特征值、逆正則特征值和其他特征值共同組成鏈接特征值。
步驟s103,將生成的鏈接特征值與鏈接特征庫(kù)存儲(chǔ)的特征值進(jìn)行比較,以判斷出目標(biāo)網(wǎng)站url是否為重復(fù)url。
具體的,步驟s103包括:
通過(guò)生成的鏈接特征值與鏈接特征庫(kù)存儲(chǔ)的特征值進(jìn)行比較,
若生成的鏈接特征值與鏈接特征庫(kù)存儲(chǔ)的特征值匹配,則將所述目標(biāo)網(wǎng)站url判定為重復(fù)url;
若生成的鏈接特征值與鏈接特征庫(kù)存儲(chǔ)的特征值不匹配,則將所述目標(biāo)網(wǎng) 站url判定為不重復(fù)url,同時(shí)將鏈接特征值存儲(chǔ)至鏈接特征庫(kù)。
本發(fā)明第二實(shí)施例,與第一實(shí)施例對(duì)應(yīng),本實(shí)施例介紹一種面向網(wǎng)絡(luò)新媒體的頁(yè)面鏈接去重掃描裝置,如圖2所示,包括以下組成部分:
1)拆解模塊100,用于對(duì)目標(biāo)網(wǎng)站url進(jìn)行拆解字段處理;
具體的,拆解模塊100根據(jù)爬行獲得的目標(biāo)網(wǎng)站url進(jìn)行字段拆解,將網(wǎng)站url分為六個(gè)字段,包括:host(主機(jī)名)、upperpath(高層路徑)、lowerpath(低層路徑)、filename(文件名)、fileextension(文件后綴名)和query(請(qǐng)求)。
上述upperpath字段與lowerpath字段通過(guò)對(duì)host字段相同的url路徑path進(jìn)行同層級(jí)路徑字符距離計(jì)算獲得,path層級(jí)間字符距離最小的層級(jí)為upperpath字段,其余path層級(jí)為lowerpath字段。
2)分段處理模塊200,用于對(duì)拆解得到的字段進(jìn)行分段處理,基于分段處理的結(jié)果生成鏈接特征值;
具體的,分段處理模塊200對(duì)host字段和upperpath字段進(jìn)行hash(哈希算法)處理,生成hash特征值;
對(duì)lowerpath字段和filename字段進(jìn)行逆正則處理,生成逆正則特征值;
將fileextension字段和query字段直接作為其他特征值;
將hash特征值、逆正則特征值和其他特征值共同組成鏈接特征值。
3)比較模塊300,用于將生成的鏈接特征值與鏈接特征庫(kù)存儲(chǔ)的特征值進(jìn)行比較,以判斷出目標(biāo)網(wǎng)站url是否為重復(fù)url。
具體的,若生成的鏈接特征值與鏈接特征庫(kù)存儲(chǔ)的特征值匹配,則將所述目標(biāo)網(wǎng)站url判定為重復(fù)url;
若生成的鏈接特征值與鏈接特征庫(kù)存儲(chǔ)的特征值不匹配,則將所述目標(biāo)網(wǎng)站url判定為不重復(fù)url,同時(shí)將鏈接特征值存儲(chǔ)至鏈接特征庫(kù)。
本發(fā)明第三實(shí)施例,本實(shí)施例是在上述實(shí)施例的基礎(chǔ)上,以一種面向網(wǎng)絡(luò) 新媒體的頁(yè)面鏈接去重掃描方法為例,結(jié)合附圖3介紹一個(gè)本發(fā)明的應(yīng)用實(shí)例。
如圖3所示,本實(shí)施例的面向網(wǎng)絡(luò)新媒體的頁(yè)面鏈接去重掃描方法,包括如下步驟:
步驟一,對(duì)url中host相同的url進(jìn)行預(yù)爬行。
具體的,步驟一包括:
在正式url爬行前,對(duì)于url中host相同的url進(jìn)行預(yù)爬行,以計(jì)算upperpath與lowerpath的路徑深度。
所述url預(yù)爬行是按照爬行入口url進(jìn)行距離為較少跳的爬取。
例如,距離設(shè)置為2,首頁(yè)為爬行入口url,則距離為2的預(yù)爬行會(huì)爬行到首頁(yè)、所有一級(jí)菜單和二級(jí)菜單頁(yè)面上的url。
所述upperpath與lowerpath的path(路徑)深度計(jì)算方法通過(guò)同級(jí)path字符距離計(jì)算各層級(jí)字符距離,path層級(jí)間字符距離最小的層級(jí)對(duì)應(yīng)的字段為upperpath字段,其余層級(jí)對(duì)應(yīng)的字段為lowerpath字段。
例如,預(yù)爬行獲得的第一個(gè)url為:
http://www.jlntv.cn/news/folder783/2015-10-09/66597.html?lang=cn
path為news/folder783/2015-10-09
預(yù)爬行獲得的第二個(gè)url為:
http://www.jlntv.cn/news/folder786/2015-11-11/66599.html?lang=cn
path為news/folder786/2015-11-11
則兩個(gè)url的path第一層級(jí)(news)的字符距離為0;
兩個(gè)url的path第二層級(jí)(folder783與folder786)的字符距離為3;
兩個(gè)url的path第三層級(jí)(2015-10-09與2015-11-11)的字符距離為10。
則upperpath字段為news/;
第一個(gè)url的lowerpath字段為folder783/2015-10-09;
第二個(gè)url的lowerpath字段為folder786/2015-11-11。
步驟二,正式爬行獲取新的網(wǎng)站url。
具體的,例如,獲得的url為:
http://www.jlntv.cn/news/folder783/2015-10-09/66597.html?lang=cn
步驟三,將獲得的url拆解為六個(gè)字段。
具體的,步驟三包括:
根據(jù)爬行獲得的網(wǎng)站url進(jìn)行拆解,將網(wǎng)站url分為六個(gè)字段,包括:
host字段:www.jlntv.cn/
upperpath字段:news/
lowerpath字段:folder783/2015-10-09/
filename字段:66597
fileextention字段:html
query字段:lang=cn
步驟四,根據(jù)網(wǎng)站url分段處理得到的六個(gè)字段進(jìn)行處理,生成鏈接特征值。
具體的,步驟四包括:
對(duì)host字段和upperpath字段進(jìn)行hash(哈希算法)處理,生成hash特征值,例如:
www.jlntv.cn/news進(jìn)行hash處理,生成hash特征值:
d800866128caa7c82fc1305db29ba829。
對(duì)lowerpath字段和filename字段進(jìn)行逆正則處理,生成逆正則特征值,例如:
folder783/2015-10-09/66597進(jìn)行逆正則處理,順序判斷字母和數(shù)字,將字母和數(shù)字替換為元字符,字母使用元字符s,數(shù)字使用元字符i,當(dāng)同一元字符連續(xù)出現(xiàn)多次,在元字符前顯示該元字符出現(xiàn)的次數(shù),生成逆正則特征值:
4s/4i-2i-2i/5i。
將fileextension字段和query字段直接作為其他特征值。
將hash特征值、逆正則特征值和其他特征值共同組成鏈接特征值,例如:
d800866128caa7c82fc1305db29ba8294s/4i-2i-2i/5i.html?lang=cn
步驟五,將生成的鏈接特征值與鏈接特征庫(kù)存儲(chǔ)的特征值進(jìn)行比較,以判斷出目標(biāo)網(wǎng)站url是否為重復(fù)url。
具體的,步驟五包括:
通過(guò)生成的鏈接特征值與鏈接特征庫(kù)存儲(chǔ)的特征值比較。若生成的鏈接特征值與鏈接特征庫(kù)存儲(chǔ)的特征值匹配,則將該網(wǎng)站url判定為重復(fù)url,返回步驟二,重新正式爬行獲取新的網(wǎng)站url。
若生成的鏈接特征值與鏈接特征庫(kù)存儲(chǔ)的特征值不匹配,則將該網(wǎng)站url判定為不重復(fù)url。
步驟六,將不重復(fù)的網(wǎng)站url特征值存儲(chǔ)至鏈接特征庫(kù)。
具體的,步驟六還包括:
當(dāng)完成不重復(fù)的網(wǎng)站url特征值存儲(chǔ)至鏈接特征庫(kù),返回步驟二,重新正式爬行獲取新的網(wǎng)站url。
本發(fā)明實(shí)施例的上述實(shí)現(xiàn)網(wǎng)站url去重掃描方法及裝置,克服了現(xiàn)有技術(shù)對(duì)網(wǎng)站url生成特征值并與已有特征值進(jìn)行比較實(shí)現(xiàn)url重復(fù)掃描效率低、工作強(qiáng)度大的缺陷,可以實(shí)現(xiàn)快速url去重掃描,提高去重準(zhǔn)確率,降低工作強(qiáng)度。
通過(guò)具體實(shí)施方式的說(shuō)明,應(yīng)當(dāng)可對(duì)本發(fā)明為達(dá)成預(yù)定目的所采取的技術(shù)手段及功效得以更加深入且具體的了解,然而所附圖示僅是提供參考與說(shuō)明之用,并非用來(lái)對(duì)本發(fā)明加以限制。