劉維++陳銀++熊偉程
摘 要:根據(jù)網(wǎng)頁(yè)具有極高的相似結(jié)構(gòu)和局部代碼重復(fù)性的特點(diǎn),總結(jié)Web頁(yè)面信息自動(dòng)化提取時(shí)的步驟。再根據(jù)Web頁(yè)面的結(jié)構(gòu)特點(diǎn),利用DOM樹(shù)將頁(yè)面的信息提取出來(lái),分析當(dāng)步驟實(shí)現(xiàn)時(shí)HTML的預(yù)處理流程和HTML頁(yè)面的解析過(guò)程,將提取出來(lái)的信息集中顯示,以達(dá)到推送的目的。
關(guān)鍵詞:HTML頁(yè)面;DOM樹(shù);正則表達(dá)式;微信公眾平臺(tái)
1 引言
隨著“互聯(lián)網(wǎng)+”時(shí)代的到來(lái),信息的來(lái)源,可信度,及時(shí)度越來(lái)越受到人們的關(guān)注,但現(xiàn)在大多數(shù)的信息都是來(lái)自Web網(wǎng)頁(yè),這樣的信息多而雜,具網(wǎng)絡(luò)資料顯示,文本信息正以指數(shù)型式不斷增長(zhǎng)。為了節(jié)約時(shí)間,就有了基于Web頁(yè)面挖掘技術(shù)的產(chǎn)生。實(shí)現(xiàn)信息推送最好的選擇就是微信公眾平臺(tái)。微信公眾平臺(tái)是最近幾年新出的推送信息的一種新方式,它是騰迅公司在微信的基礎(chǔ)上新增的功能模塊,通過(guò)這一平臺(tái),個(gè)人和企業(yè)都可以打造一個(gè)微信的公眾號(hào),并實(shí)現(xiàn)和特定群體的文字、圖片、語(yǔ)音的全方位溝通、互動(dòng)。
2 Web頁(yè)面挖掘
如今Internet上很多網(wǎng)頁(yè)都是動(dòng)態(tài)生成的,通過(guò)用戶填寫(xiě)表單提交信息,動(dòng)態(tài)的生成Deep Web頁(yè)面,與此同時(shí)用戶提交的大量數(shù)據(jù)信息被保存在網(wǎng)站的后臺(tái)數(shù)據(jù)庫(kù)中。由于頁(yè)面中數(shù)據(jù)記錄之間的代碼具有極高的結(jié)構(gòu)相似性,因此Web數(shù)據(jù)記錄所對(duì)應(yīng)的標(biāo)簽樹(shù)之間自然也具有很高的相識(shí)性,所以網(wǎng)頁(yè)往往具有相似的結(jié)構(gòu)和局部代碼重復(fù)性。因此數(shù)據(jù)的自動(dòng)化提取則可以分為以下幾個(gè)步驟:
(1)輸入一些具有相同或相似結(jié)構(gòu)的Web頁(yè)面。
(2)對(duì)這些Web頁(yè)面進(jìn)行預(yù)處理,就是將一些與網(wǎng)頁(yè)無(wú)關(guān)的內(nèi)容進(jìn)行刪除,將代碼結(jié)構(gòu)不嚴(yán)謹(jǐn)?shù)腍TML頁(yè)面轉(zhuǎn)換成結(jié)構(gòu)嚴(yán)謹(jǐn)、易于處理的HTML頁(yè)面。
(3)將處理好的頁(yè)面解析成以標(biāo)簽為隊(duì)列的線性數(shù)據(jù)結(jié)構(gòu),接著利用標(biāo)簽隊(duì)列的匹配去除頁(yè)面中的廣告,導(dǎo)航欄等。
(4)按照一些頁(yè)面性質(zhì)將網(wǎng)頁(yè)中的標(biāo)簽歸類(lèi)成為一些小集合,然后對(duì)這些小集合的有效數(shù)據(jù)進(jìn)行自動(dòng)抽取,并自動(dòng)生成該類(lèi)的模版頁(yè)。
3 DOM標(biāo)簽樹(shù)
HTML通過(guò)定義一套標(biāo)簽來(lái)刻畫(huà)顯示的頁(yè)面。依據(jù)標(biāo)簽的作用可將HTML的標(biāo)簽分為三類(lèi):
(1)規(guī)劃網(wǎng)頁(yè)布局的標(biāo)簽。在視覺(jué)上,我們都知道網(wǎng)頁(yè)是由無(wú)數(shù)的方塊嵌套在一起組成,而里面的內(nèi)容則是由標(biāo)簽規(guī)劃出來(lái)的。常用的標(biāo)簽有:
等。
(2)描述顯示特點(diǎn)的標(biāo)簽。在網(wǎng)頁(yè)中常看到為了引起我們注意的不同格式文字,它們都是由一些標(biāo)簽規(guī)定的,這類(lèi)標(biāo)簽稱為信息標(biāo)簽。常用的有:
等。
(3)超鏈接相關(guān)的標(biāo)簽:超鏈接是網(wǎng)頁(yè)區(qū)別于普通文本最明顯的特征之一。它表示著網(wǎng)頁(yè)間的關(guān)系,整理出超鏈接標(biāo)簽可以挖掘出網(wǎng)頁(yè)間的相關(guān)內(nèi)容。
4 部分功能與實(shí)現(xiàn)的步驟
4.1 HTML的預(yù)處理
現(xiàn)在大多數(shù)的網(wǎng)站都是以HTML文檔形式向客戶展開(kāi),每一個(gè)頁(yè)面中的數(shù)據(jù)和格式都是以一組成對(duì)的“始標(biāo)記”與“結(jié)束標(biāo)記”組成。例如:
和
,,
等。在頁(yè)面中的標(biāo)簽可以相互嵌套使用。為了避免網(wǎng)頁(yè)不兼容、代碼錯(cuò)誤的現(xiàn)象可能導(dǎo)致的頁(yè)面解析失敗,我們可以先除去一些無(wú)用的標(biāo)簽,如:,