-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 營銷推廣 > 專題列表 > 正文
網(wǎng)頁正文提取算法開源(網(wǎng)頁內(nèi)容提取器)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于網(wǎng)頁正文提取算法開源的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,相關(guān)業(yè)務(wù)請撥打電話:175-8598-2043,或添加微信:1454722008
本文目錄:
一、信息采集軟件的一般功能有哪些?
一般信息采集系統(tǒng)可以將因特網(wǎng)上的網(wǎng)站信息采集保存到用戶的本地數(shù)據(jù)庫中。并具備以下功能:
1、規(guī)則定義 - 通過采集規(guī)則的定義,可以搜索所有網(wǎng)站采集幾乎任何類型的信息。2、多任務(wù),多線程 - 可以同時進(jìn)行多個信息采集任務(wù),每個任務(wù)可以使用多個線程。3、數(shù)據(jù)保存 - 數(shù)據(jù)邊采集邊自動保存到關(guān)系數(shù)據(jù)庫中,并且數(shù)據(jù)結(jié)構(gòu)能夠自動適應(yīng),軟件可以根據(jù)采集規(guī)則自動創(chuàng)建數(shù)據(jù)庫,以及其中的表和字段。4、網(wǎng)站登錄 - 支持網(wǎng)站登錄。5、智能網(wǎng)頁正文提取 - 可以將正文從網(wǎng)頁代碼中智能提取。6、結(jié)果替換 - 可以將采集的結(jié)果根據(jù)規(guī)則替換成你定義的內(nèi)容。7、文件下載 - 可以將采集到的二進(jìn)制文件(諸如:圖片、音樂、軟件、文檔等等)下載到本地磁盤或者采集結(jié)果數(shù)據(jù)庫中。8、采集結(jié)果分類 - 可以根據(jù)用戶定義的分類信息進(jìn)行采集結(jié)果的自動分類。9、數(shù)據(jù)發(fā)布 - 可以通過自定義接口,將已采集的結(jié)果數(shù)據(jù)發(fā)布到任意的內(nèi)容管理系統(tǒng)和指定數(shù)據(jù)庫中。10、條件過濾 - 可以根據(jù)某個條件來決定那些信息保存,那些信息過濾。11、過濾重復(fù)內(nèi)容 - 軟件可根據(jù)用戶設(shè)置和實際情況對重復(fù)內(nèi)容和重復(fù)網(wǎng)址自動刪除重復(fù)內(nèi)容等等。二、搜索引擎是如何判斷你文章是否采集的
搜索引擎是如何判斷你文章是否采集的?也就是要看搜索引擎是怎么查看原創(chuàng)的問題
在這個科技高度發(fā)達(dá)的時代,百度已經(jīng)成為人們能獲取消息的主要途徑。但如今的百度,到處充斥著一些重復(fù)的內(nèi)容,對用戶的訪問造成很大的困擾。因此,百度需要對網(wǎng)頁重復(fù)進(jìn)行判斷,對重復(fù)的網(wǎng)頁,只選取一些高質(zhì)量的我那工業(yè),共用戶瀏覽。然而,現(xiàn)有技術(shù)中一般是通過比較兩個頁面的內(nèi)容和借點,來確認(rèn)兩個頁面的相似度。
這種方法能夠計算的比較準(zhǔn)確,可時間復(fù)雜度太高,計算很費時間。通過對一個頁面中的某些重要信息進(jìn)行簽名,然后比較兩個頁面的簽名,來計算相似度,這種方式比較簡單高效,計算速度比較快,比較適合百度這種海量信息的應(yīng)用場景。
1,網(wǎng)站重復(fù)內(nèi)容的判斷
A,獲取多個網(wǎng)頁;
B,分別提取網(wǎng)頁的網(wǎng)頁正文;
C,從網(wǎng)頁正文中提取一個或多個句子,并根據(jù)一個或多個句子計算網(wǎng)頁正文句子簽名;
D,根據(jù)網(wǎng)頁正文句子簽名對多個網(wǎng)頁進(jìn)行聚類;
E,針對每一類下的網(wǎng)頁,計算網(wǎng)頁的附加簽名;
F,根據(jù)附加簽名判斷每一類下的網(wǎng)頁是否重復(fù)。
通過上述方式,網(wǎng)頁重復(fù)的判斷系統(tǒng)及其判斷方法通過包括網(wǎng)頁正文句子簽名在內(nèi)的多維度簽名有效且快速地判斷網(wǎng)頁是否重復(fù)。
廣告圖
網(wǎng)站頁面基本架構(gòu)
提取正文
A,對網(wǎng)頁進(jìn)行分塊;
B,對分塊后的網(wǎng)頁進(jìn)行塊過濾,以獲取包含網(wǎng)頁正文的內(nèi)容快;
C,從內(nèi)容塊中提取網(wǎng)頁正文。
正文分句
A,對網(wǎng)頁正文進(jìn)行分句;
在本步驟中,可利用分號,句號,感嘆號等表示句子完結(jié)的標(biāo)志符號來對網(wǎng)頁正文進(jìn)行分句。此外,還可以通過網(wǎng)頁正文的視覺信息來對網(wǎng)頁正文進(jìn)行分句。
B,對分句后的網(wǎng)頁正文進(jìn)行過濾及轉(zhuǎn)換;
在步驟中,首先過濾掉句子中的數(shù)字信息;版權(quán)信息以及其他對網(wǎng)頁重復(fù)判斷不起決定性作用的信息。隨后,對句子進(jìn)行轉(zhuǎn)換,例如,進(jìn)行全角/半角轉(zhuǎn)換或者繁體/簡體轉(zhuǎn)換,以使得轉(zhuǎn)換后的句子的格式統(tǒng)一。
C,從過濾及轉(zhuǎn)換后的網(wǎng)頁正文中提取最長的一個或多個句子;
在本步驟中,過濾及轉(zhuǎn)換后的網(wǎng)頁正文提取出最長的一個句子或者做場的預(yù)定數(shù)量連續(xù)句子的組合。例如,某個網(wǎng)頁實例中,經(jīng)過過濾及轉(zhuǎn)換后的某段最長,遠(yuǎn)超其他句子,因此可選擇該段為網(wǎng)頁正文句子,或者選擇最長的連續(xù)句子組合作為網(wǎng)頁正文句子。
D,對一個或多個句子進(jìn)行hash簽名運算,以獲取網(wǎng)頁正文句子簽名。
simhash算法就是比較各網(wǎng)頁的附加簽名是否相同或相似來判斷網(wǎng)頁是否重復(fù)。具體來說,在比較利用simhash簽名運算獲得的網(wǎng)頁正文簽名時,比較網(wǎng)頁正文簽名的不同位數(shù),不同位越少,表示網(wǎng)頁重復(fù)的可能性越高,在比較其他的附加簽名時,若附加簽名相等,表示網(wǎng)頁在該緯度上重復(fù)。
總結(jié):
1、兩個網(wǎng)頁的真實標(biāo)題簽名相同。
2、兩個我那工業(yè)的網(wǎng)頁內(nèi)容簽名相同。
3、兩個網(wǎng)頁的網(wǎng)頁正文簽名的不同位數(shù)小于6.。
4、兩個網(wǎng)頁的網(wǎng)頁位置簽名相同,并且url文件名簽名相同。
5、評論塊簽名、資源簽名、標(biāo)簽標(biāo)題簽名、摘要簽名、url文件名簽名中有三個簽名相同。
附加信息整站判斷重復(fù)標(biāo)準(zhǔn):
通過兩兩頁面比較,可以得到真重復(fù)url的集合。一般來說,如果這個真重復(fù)url集合中的網(wǎng)頁的數(shù)量/整個網(wǎng)頁集中網(wǎng)頁的數(shù)量大于30%,則認(rèn)為整個網(wǎng)頁集都是真重復(fù),否則就是假重復(fù)。
三、vb 快速的取得網(wǎng)頁源碼和提取其中內(nèi)容
如下函數(shù)可以實現(xiàn)你要的功能:
Function TestRegExp(ByVal myString$, ByVal myPattern$, Optional myMark$ = "gimt", Optional myRepString$)
If myString = "" Or myPattern = "" Then
TestRegExp = ""
Debug.Print "數(shù)據(jù)不能為空"
Exit Function
End If
'Create objects.
Dim objRegExp As RegExp
Dim objMatch As Match
Dim colMatches As MatchCollection
Dim RetStr As String
Set objRegExp = New RegExp
' 正則式
objRegExp.Pattern = myPattern
'IIf(InStr(myPattern, "s") <> 0, "", myPattern)
' 是否區(qū)分大小寫
objRegExp.IgnoreCase = IIf(InStr(LCase$(myMark), "i") > 0, True, False)
' 是否全局
objRegExp.Global = IIf(InStr(LCase$(myMark), "g") > 0, True, False)
' 是否換行
objRegExp.MultiLine = IIf(InStr(LCase$(myMark), "m") > 0, True, False)
If objRegExp.Test(myString) Then
If InStr(myMark, "r") > 0 Then
Debug.Print "正在替換"
RetStr = objRegExp.Replace(myString, myRepString)
Debug.Print IIf(RetStr <> "", "替換結(jié)果" & Left(RetStr, 10), "沒搜索到可替換字符")
Else
Debug.Print "正在搜索"
Set colMatches = objRegExp.Execute(myString) ' Execute search.
'MsgBox colMatches.Count
For Each objMatch In colMatches ' Iterate Matches collection.
'RetStr = RetStr & objMatch.FirstIndex
RetStr = RetStr & objMatch.Value & vbCrLf
Next
Debug.Print IIf(RetStr <> "", "搜索結(jié)果" & Left(RetStr, 10), "沒搜索到匹配結(jié)果")
End If
Else
RetStr = ""
Debug.Print "沒找到任何匹配結(jié)果,請檢查正則式的是否正確"
End If
TestRegExp = RetStr
End Function
四、搜索引擎是怎樣判斷原創(chuàng)的?
搜索引擎判斷復(fù)制網(wǎng)頁一般都基于這么一個思想:為每個網(wǎng)頁計算出一組信息指紋(Fingerprint),若兩個網(wǎng)頁有一定數(shù)量相同的信息指紋,則認(rèn)為這兩個網(wǎng)頁的內(nèi)容重疊性很高,也就是說兩個網(wǎng)頁是內(nèi)容復(fù)制的。很多搜索引擎判斷內(nèi)容復(fù)制的方法都不太一樣,主要是以下兩點的不同:1、計算信息指紋(Fingerprint)的算法;2、判斷信息指紋的相似程度的參數(shù)。在描述具體的算法前,先說清楚兩點:1、什么是信息指紋?信息指紋就是把網(wǎng)頁里面正文信息,提取一定的信息,可以是關(guān)鍵字、詞、句子或者段落及其在網(wǎng)頁里面的權(quán)重等,對它進(jìn)行加密,如MD5加密,從而形成的一個字符串。信息指紋如同人的指紋,只要內(nèi)容不相同,信息指紋就不一樣。2、算法提取的信息不是針對整張網(wǎng)頁,而是把網(wǎng)站里面共同的部分如導(dǎo)航條、logo、版權(quán)等信息(這些稱之為網(wǎng)頁的“噪音”)過濾掉后剩下的文本。分段簽名算法這種算法是按照一定的規(guī)則把網(wǎng)頁切成N段,對每一段進(jìn)行簽名,形成每一段的信息指紋。如果這N個信息指紋里面有M個相同時(m是系統(tǒng)定義的闕值),則認(rèn)為兩者是復(fù)制網(wǎng)頁。這種算法對于小規(guī)模的判斷復(fù)制網(wǎng)頁是很好的一種算法,但是對于像google這樣海量的搜索引擎來說,算法的復(fù)雜度相當(dāng)高?;陉P(guān)鍵詞的復(fù)制網(wǎng)頁算法像google這類搜索引擎,他在抓取網(wǎng)頁的時候都會記下以下網(wǎng)頁信息:1、網(wǎng)頁中出現(xiàn)的關(guān)鍵詞(中文分詞技術(shù))以及每個關(guān)鍵詞的權(quán)重(關(guān)鍵詞密度);2、提取meta descrīption或者每個網(wǎng)頁的512個字節(jié)的有效文字。關(guān)于第2點,baidu和google有所不同,google是提取你的meta descrīption,如果沒有查詢關(guān)鍵字相關(guān)的512個字節(jié),而百度是直接提取后者。這一點大家使用過的都有所體會。在以下算法描述中,我們約定幾個信息指紋變量:Pi表示第i個網(wǎng)頁;該網(wǎng)頁權(quán)重最高的N個關(guān)鍵詞構(gòu)成集合Ti={t1,t2,...tn},其對應(yīng)的權(quán)重為Wi={w1,w2,...wi}摘要信息用Des(Pi)表示,前n個關(guān)鍵詞拼成的字符串用Con(Ti)表示,對這n個關(guān)鍵詞排序后形成的字符串用Sort(Ti)表示。以上信息指紋都用MD5函數(shù)進(jìn)行加密。基于關(guān)鍵詞的復(fù)制網(wǎng)頁算法有以下5種:1、MD5(Des(Pi))=MD5(Des(Pj)),就是說摘要信息完全一樣,i和j兩個網(wǎng)頁就認(rèn)為是復(fù)制網(wǎng)頁;2、MD5(Con(Ti))=MD5(Con(Tj)),兩個網(wǎng)頁前n個關(guān)鍵詞及其權(quán)重的排序一樣,就認(rèn)為是復(fù)制網(wǎng)頁;3、MD5(Sort(Ti))=MD5(Sort(Tj)),兩個網(wǎng)頁前n個關(guān)鍵詞一樣,權(quán)重可以不一樣,也認(rèn)為是復(fù)制網(wǎng)頁。4、MD5(Con(Ti))=MD5(Con(Tj))并且Wi-Wj的平方除以Wi和Wj的平方之和小于某個闕值a,則認(rèn)為兩者是復(fù)制網(wǎng)頁。5、MD5(Sort(Ti))=MD5(Sort(Tj))并且Wi-Wj的平方除以Wi和Wj的平方之和小于某個闕值a,則認(rèn)為兩者是復(fù)制網(wǎng)頁。關(guān)于第4和第5的那個闕值a,主要是因為前一個判斷條件下,還是會有很多網(wǎng)頁被誤傷,搜索引擎開發(fā)根據(jù)權(quán)重的分布比例進(jìn)行調(diào)節(jié),防止誤傷。這個是北大天網(wǎng)搜索引擎的去重算法(可以參考:《搜索引擎--原理、技術(shù)與系統(tǒng)》一書),以上5種算法運行的時候,算法的效果取決于N,就是關(guān)鍵詞數(shù)目的選取。當(dāng)然啦,選的數(shù)量越多,判斷就會越精確,但是誰知而來的計算速度也會減慢下來。所以必須考慮一個計算速度和去重準(zhǔn)確率的平衡。據(jù)天網(wǎng)試驗結(jié)果,10個左右關(guān)鍵詞最恰當(dāng)。后記以上肯定無法覆蓋一個大型搜索引擎復(fù)制網(wǎng)頁的所有方面,他們必定還有一些輔助的信息指紋判斷,本文作為一個思路,給做搜索引擎優(yōu)化的一個思路。小弟的站:合肥化妝攝影學(xué)校
以上就是關(guān)于網(wǎng)頁正文提取算法開源相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
有贊微商城商家版(有贊微商城官網(wǎng)網(wǎng)頁版)
網(wǎng)頁包括哪些內(nèi)容(網(wǎng)頁包括哪些內(nèi)容類型)
設(shè)計師個人網(wǎng)頁(設(shè)計師個人網(wǎng)頁首頁)
問大家
如皋值得推薦的網(wǎng)頁美工設(shè)計機構(gòu)微信號誰有?求教
電商設(shè)計,網(wǎng)頁設(shè)計,影視后期,哪個好,工資待遇高,門檻低點?
網(wǎng)頁設(shè)計需要學(xué)什么?需要自學(xué)多長時間?
安溪服務(wù)好的網(wǎng)頁美工設(shè)計老板號碼有么?幫個忙同志們
web前端設(shè)計工程師與網(wǎng)頁設(shè)計師有什么區(qū)別?
宿遷口碑好的網(wǎng)頁美工設(shè)計公司號碼有么?在座的筒子們幫忙回一下
漳浦有口碑的網(wǎng)頁美工設(shè)計負(fù)責(zé)人微信怎么找?在座的同學(xué)們不勝感激
陽江排名好的網(wǎng)頁美工設(shè)計該如何選擇?哪位大俠回答一下
如東著名的網(wǎng)頁美工設(shè)計哪家服務(wù)好?在座的同學(xué)們跪求回答
揚州人性化的網(wǎng)頁美工設(shè)計機構(gòu)微信號誰有?路過的大佬們聊一聊
張家港名氣大的企業(yè)郵箱哪家性價比高?在座的看官們有誰了解