国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Web的主題內(nèi)容提取與存儲系統(tǒng)研究

2016-12-15 02:47:12
軟件 2016年11期
關(guān)鍵詞:存儲系統(tǒng)網(wǎng)頁頁面

朱 林

(東南大學(xué)成賢學(xué)院,江蘇 南京 210088)

基于Web的主題內(nèi)容提取與存儲系統(tǒng)研究

朱 林

(東南大學(xué)成賢學(xué)院,江蘇 南京 210088)

為了快速提取網(wǎng)頁中的主題內(nèi)容,本文對基于Web的主題內(nèi)容提取與存儲系統(tǒng)進(jìn)行了較為深入的研究,從系統(tǒng)總的設(shè)計思想、架構(gòu)設(shè)計、各個組件的關(guān)鍵實(shí)現(xiàn)技術(shù)等方面進(jìn)行了分析,使人們可以基于WEB準(zhǔn)確且迅速的提取到相應(yīng)的主題內(nèi)容,大大提高人們的工作效率。

Web;主題內(nèi)容提?。淮鎯ο到y(tǒng)

本文著錄格式:朱 林. 基于Web的主題內(nèi)容提取與存儲系統(tǒng)研究[J]. 軟件,2016,37(11):30-32

0 引言

互聯(lián)網(wǎng)上存在大量的Web網(wǎng)頁,每一個網(wǎng)頁通常都會有某個主題,基于Web的主題內(nèi)容提取與存儲系統(tǒng)可以幫助人們實(shí)現(xiàn)對自己所關(guān)注主題的網(wǎng)頁內(nèi)容的快速提取,并且可以存儲起來以方便人們查看那些提取到的內(nèi)容??梢怨?jié)省尋找目標(biāo)網(wǎng)頁與內(nèi)容的時間,讓人們在茫茫的信息海洋里準(zhǔn)確且迅速地提取到有關(guān)某個主題的信息,對于人們的工作效率而言具有重大意義。

1 系統(tǒng)總體思想

在設(shè)計基于Web的主題內(nèi)容提取與存儲系統(tǒng)時,可以事先設(shè)定一個搜索范圍,即設(shè)定搜索的網(wǎng)站,可以按照人們所需要的主題去搜索并顯示出搜索的結(jié)果,最后存儲到數(shù)據(jù)庫中去,而且這個系統(tǒng)可啟可停,在需要的時候啟動它,不需要的時候停止它,不會去無限占用存儲空間[1]。具體設(shè)計思想如下:

1.1 多個部分,一個整體

將系統(tǒng)重要的部分分成一個個獨(dú)立的小部分,這樣設(shè)計起來思路清晰,效率高。就像汽車組裝的流水線一樣,將汽車分為各個部分,最后進(jìn)行組裝形成最終的成品。這樣的設(shè)計使得整個系統(tǒng)的布局很規(guī)則,哪個部分負(fù)責(zé)什么,一看就能知道。而且當(dāng)程序員進(jìn)行修改或者查錯時也很節(jié)約時間,很方便。最后將每個獨(dú)立的小部分連接起來。

1.2 簡單,易操作

功能不要太眼花繚亂,注重實(shí)際需求,抓住用戶最需要的功能。用戶可以通過簡單的操作達(dá)到提取與存儲的目的,方便的提取到自己所需主題內(nèi)容并且一眼就能看到結(jié)果。用戶不需要清楚系統(tǒng)是如何實(shí)現(xiàn)的,只在乎如何用最少的時間來完成操作并獲得結(jié)果。這樣的設(shè)計對于用戶來說是絕對正確和實(shí)用的[2]。

1.3 完全開放,人性化

系統(tǒng)是完全開放的,用戶不僅可以使用現(xiàn)有的

功能而且還能在代碼里編寫設(shè)置自己所需要的其它功能,可以使此系統(tǒng)更為強(qiáng)大,十分人性化。

2 系統(tǒng)架構(gòu)設(shè)計

可以使用模塊化的設(shè)計方法來設(shè)計該基于Web的主題內(nèi)容提取與存儲系統(tǒng)的架構(gòu)[3],系統(tǒng)程序模塊化的設(shè)計對于某些規(guī)模較小的程序來說并不一定能夠帶來什么方便之處,但是對于規(guī)模較大或者說后期可以加以拓展的系統(tǒng)程序來說進(jìn)行模塊化設(shè)計還是很有利的。首先,模塊化設(shè)計之后各個模塊之間是相對獨(dú)立的,其次各個模塊的功能也是相對固定單一的,最后最大的好處就是結(jié)構(gòu)十分清晰,處理問題相當(dāng)方便。

本系統(tǒng)可以分為網(wǎng)頁下載,頁面解析,URL抓取,提取結(jié)果處理和系統(tǒng)數(shù)據(jù)庫這幾大部分,以及一個簡約的可視化界面,這個界面設(shè)計方便了用戶的操作。系統(tǒng)總體的架構(gòu)圖如圖1所示:

圖1 基于Web的主題內(nèi)容提取與存儲系統(tǒng)架構(gòu)

整個系統(tǒng)的結(jié)構(gòu)十分清晰,每個部分具體負(fù)責(zé)什么工作內(nèi)容也十分明顯。Spider可以看成一個大容器,系統(tǒng)的各個部分在這個容器里面彼此聯(lián)系。從互聯(lián)網(wǎng)下載的網(wǎng)頁會傳遞給頁面解析組件進(jìn)行解析,提取出的主題內(nèi)容再傳遞給結(jié)果處理組件,持久化到系統(tǒng)數(shù)據(jù)庫。頁面解析時獲取后續(xù)URL并傳遞給URL抓取組件存入隊列,通過URL網(wǎng)頁下載得以繼續(xù)。

系統(tǒng)的總體功能也是按照各大模塊部分來設(shè)計。網(wǎng)頁下載部分的功能是實(shí)現(xiàn)從互聯(lián)網(wǎng)上下載所需要的網(wǎng)頁,將這些下載好的網(wǎng)頁傳遞給頁面解析組件,頁面解析組件的功能主要有兩個:一是對頁面主題元素的提取,二是獲取系統(tǒng)的后續(xù)URL以供網(wǎng)頁下載組件下載網(wǎng)頁。URL抓取組件的功能也是分為兩個,第一個是對于URL待抓取隊列的管理,第二個是URL去重的工作,主要是去除那些相同的URL,以免重復(fù)下載相同的網(wǎng)頁,耗費(fèi)內(nèi)存。提取結(jié)果處理組件的功能也可以分為兩部分來設(shè)計:一是對于提取結(jié)果的處理,可以使用戶自行選擇結(jié)果存儲路徑,此系統(tǒng)只提供存儲到數(shù)據(jù)庫這個一個存儲路徑,其他的路徑用戶可自行開發(fā)。二是提取內(nèi)容結(jié)果持久化到數(shù)據(jù)庫。將整個系統(tǒng)的數(shù)據(jù)存儲到系統(tǒng)數(shù)據(jù)庫中。

3 系統(tǒng)實(shí)現(xiàn)關(guān)鍵技術(shù)

系統(tǒng)實(shí)現(xiàn)時主要考慮以下四個方面的關(guān)鍵技術(shù):

3.1 網(wǎng)頁下載組件實(shí)現(xiàn)

網(wǎng)頁下載組件是基于Web的主題內(nèi)容提取與存儲系統(tǒng)運(yùn)行的起點(diǎn),可以利用開源爬蟲工具來編寫,基于HttpClient下載網(wǎng)頁的URL,獲取網(wǎng)頁的源代碼和其他重要屬性信息,下載之后交付給頁面解析組件進(jìn)行解析。

一般情況下不希望相同的網(wǎng)頁被重復(fù)下載多次,這樣就會耗費(fèi)計算機(jī)資源,所以要進(jìn)行URL的去重處理。URL去重方式很多,主要有基于內(nèi)存去重、基于數(shù)據(jù)庫去重、基于磁盤路徑去重和基于布隆過濾器去重等方法?;赪eb的主題內(nèi)容提取與存儲系統(tǒng)可以選用基于內(nèi)存的去重方式,它是在每次網(wǎng)頁開始下載時,將URL全部存入內(nèi)存中的哈希表,然后在哈希表中進(jìn)行查找、匹配等操作。例如當(dāng)系統(tǒng)需要檢測某個URL是否已經(jīng)存在時,只需要將這個URL做一次哈希映射,映射之后得到的地址如果重復(fù),就放棄下載,否則,就將這個URL及其對應(yīng)的哈希地址作為關(guān)鍵碼存放進(jìn)哈希表中。

3.2 網(wǎng)頁解析組件實(shí)現(xiàn)

網(wǎng)頁解析組件主要由兩個子模塊組成,一是對網(wǎng)頁頁面元素的提取模塊,二是頁面元素提取完之后的后續(xù)鏈接的發(fā)現(xiàn)模塊[4]。

主題內(nèi)容的提取歸根結(jié)底是頁面元素的提取,是整個系統(tǒng)的核心部分。用戶需要什么樣的主題內(nèi)容,系統(tǒng)就去提取頁面中什么樣的主題元素??梢允褂谜齽t表達(dá)式regex和XML路徑語言XPath這兩種頁面元素提取技術(shù)來實(shí)現(xiàn)。

系統(tǒng)在運(yùn)行是不可能一下子保存某個網(wǎng)站所有頁面的URL,所以在頁面解析的基礎(chǔ)上發(fā)現(xiàn)后續(xù)的新的鏈接對于系統(tǒng)來說也是尤為重要的。例如對于網(wǎng)站的URL特征是"http://www. xxx.com/xxx/ xxx/..../"格式的網(wǎng)頁而言,后續(xù)鏈接的選擇在規(guī)則上

可以利用了正則表達(dá)regex跟蹤和實(shí)現(xiàn)。代碼如下:

代碼可以分為兩個部分來看,首先后續(xù)鏈接必須符合"(https://www\.com/\w+/\w+)"這個正則表達(dá)式,然后通過page.addTargetRequests將符合要求的URL加入到URL待抓取隊列中去。此時就完成了系統(tǒng)中后續(xù)鏈接的發(fā)現(xiàn)工作。

3.3 URL抓取組件實(shí)現(xiàn)

基于Web的主題內(nèi)容提取與存儲系統(tǒng)使用的是內(nèi)存隊列來保存和管理待抓取的URL隊列。可以利用了深度優(yōu)先遍歷策略來實(shí)現(xiàn)URL的抓取。所謂深度優(yōu)先遍歷抓取策略簡單的說就是:系統(tǒng)從給定的第一個URL開始,當(dāng)系統(tǒng)解析完這個頁面的元素之后,就會轉(zhuǎn)入下一個網(wǎng)頁,一個鏈接一個鏈接抓取下去[5]。因為頁面解析部分提供了新鏈接的發(fā)現(xiàn)功能,所以不需要擔(dān)心沒有下一個鏈接來抓取。

3.4 結(jié)果處理組件實(shí)現(xiàn)

結(jié)果處理組件可以對頁面解析組件中提取主題內(nèi)容元素結(jié)束時的結(jié)果進(jìn)行處理,這有利于模塊之間的分離,分離開來之后代碼編寫的結(jié)構(gòu)會十分清晰。另外,對于抽取結(jié)果的后期處理可以定制不同的功能,比如結(jié)果的保存方式,可以選擇將其保存到文件還是保存到數(shù)據(jù)庫,如果用戶自己定制了多種保存方式,但只想用里面的一種方式就需要使用如下代碼:

如果說想用兩種方式結(jié)合起來的話也很簡單,代碼如下:

如果將提取出的主題內(nèi)容存儲到數(shù)據(jù)庫,就可能涉及到數(shù)據(jù)持久化的問題。數(shù)據(jù)持久化需要將內(nèi)存中的數(shù)據(jù)模型轉(zhuǎn)變?yōu)榇鎯δP停蛘邔⒋鎯δP娃D(zhuǎn)變成數(shù)據(jù)模型。在實(shí)現(xiàn)的時候,系統(tǒng)中提取出的主題內(nèi)容結(jié)果都在HashMap對象resultItems中[6],通過以下代碼分別調(diào)出主題內(nèi)容結(jié)果:

因為resultItems是一個HashMap形式,即的形式,通過get其中的一個KEY值,獲取其對應(yīng)的一個VALUE值,從而達(dá)到其中的目的,而name,author和readme就是這里的KEY值,通過上面的代碼就能調(diào)用,再賦值給數(shù)據(jù)庫中表的字段url,name,author和readme即可。

在將結(jié)果持久化到數(shù)據(jù)庫時需要使用sql插入語句將得到的結(jié)果存入數(shù)據(jù)庫中,其中的sql語句如下:

為了防止注入攻擊,可以使用預(yù)編譯的狀態(tài)集對象 preparedstatement,參數(shù)用setXXX方法進(jìn)行填裝。完成結(jié)果存儲。

4 總結(jié)

本論文從對WEB主題內(nèi)容準(zhǔn)確而快速的提取和存儲出發(fā),首先闡述了系統(tǒng)設(shè)計的總體思想,然后基于此設(shè)計系統(tǒng)的總體架構(gòu),并提出了詳細(xì)的系統(tǒng)實(shí)現(xiàn)關(guān)鍵技術(shù),大大提高系統(tǒng)的性能和人們的工作效率。

[1] 陳立瑋, 馮巖松, 趙東巖. 基于弱監(jiān)督學(xué)習(xí)的海量網(wǎng)絡(luò)數(shù)據(jù)關(guān)系抽取[J]. 計算機(jī)研究與發(fā)展. 2013(09).

[2] 王元卓, 靳小龍, 程學(xué)旗. 網(wǎng)絡(luò)大數(shù)據(jù): 現(xiàn)狀與展望[J].計算機(jī)學(xué)報. 2013(06).

[3] 高樂, 張健, 田賢忠. 基于視覺的Web頁面分塊算法的改進(jìn)與實(shí)現(xiàn)[J]. 計算機(jī)系統(tǒng)應(yīng)用. 2009(04).

[4] 鄭津楊, 樊雨婷. 基于匹配樹方法的RFID 標(biāo)簽信息歸類方法設(shè)計[J]. 軟件, 2015, 36(12): 154-157.

[5] 潘昊,鄂海紅,宋美娜. 布隆過濾器在網(wǎng)頁消重中的應(yīng)用[J]. 軟件, 2015, 36(12): 166-170.

[6] 楊淙鈞, 艾中良, 劉忠麟, 等. 基于多級列式索引的海量數(shù)據(jù)高效查詢設(shè)計[J]. 軟件, 2016, 37(3): 79-83.

Research on Topic Content Extraction and Storage System Based on Web

ZHU Lin
(Southeast University chengxian College, Nanjing jiangsu Province, 210088, China)

In order to extract web page theme, this paper studied topic extraction and storage system based on Web, analyzes the key system design, architecture design, component technique, so that people can be based on an accurate and rapid extraction of WEB to the corresponding theme and improve the work efficiency of people.

Web; Topic content extraction; Storage system

TP393.092

A

10.3969/j.issn.1003-6970.2016.11.007

2014年江蘇省現(xiàn)代教育技術(shù)研究“面向軟件工程課程群的網(wǎng)絡(luò)教學(xué)支撐系統(tǒng)研究”(2014-R-31607);東南大學(xué)成賢學(xué)院“青年教師科研發(fā)展基金”項目(y380001)。

朱林(1981-),男,碩士,講師,研究方向:軟件工程,電子商務(wù)。

猜你喜歡
存儲系統(tǒng)網(wǎng)頁頁面
刷新生活的頁面
分布式存儲系統(tǒng)在企業(yè)檔案管理中的應(yīng)用
哈爾濱軸承(2020年2期)2020-11-06 09:22:36
天河超算存儲系統(tǒng)在美創(chuàng)佳績
基于CSS的網(wǎng)頁導(dǎo)航欄的設(shè)計
電子制作(2018年10期)2018-08-04 03:24:38
基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
電子制作(2017年2期)2017-05-17 03:54:56
網(wǎng)頁制作在英語教學(xué)中的應(yīng)用
電子測試(2015年18期)2016-01-14 01:22:58
華為震撼發(fā)布新一代OceanStor 18000 V3系列高端存儲系統(tǒng)
一種基于STM32的具有斷電保護(hù)機(jī)制的采集存儲系統(tǒng)設(shè)計
10個必知的網(wǎng)頁設(shè)計術(shù)語
同一Word文檔 縱橫頁面并存
德安县| 陵川县| 韶山市| 宁安市| 泰兴市| 三江| 南平市| 宁武县| 湘阴县| 织金县| 望都县| 隆昌县| 繁峙县| 海兴县| 丰县| 东至县| 内乡县| 惠水县| 会东县| 潮安县| 施秉县| 长寿区| 茶陵县| 抚松县| 延边| 思茅市| 孟州市| 瓦房店市| 平安县| 太康县| 怀远县| 镇雄县| 盐城市| 彭山县| 彩票| 枣强县| 安陆市| 楚雄市| 吴旗县| 都安| 石嘴山市|