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