VFP技術(shù)在網(wǎng)頁(yè)數(shù)據(jù)采集中開(kāi)發(fā)的方向分析
隨著信息技術(shù)對(duì)高校教育發(fā)展的變革,數(shù)字化資源建設(shè)在高校學(xué)習(xí)資源建設(shè),構(gòu)建學(xué)習(xí)型組織中扮演著重要角色。數(shù)字資源建設(shè)是滿足現(xiàn)代化教學(xué)所需的一項(xiàng)重要教學(xué)基礎(chǔ)資源,是學(xué)校、教師和學(xué)生進(jìn)行學(xué)習(xí),交流,分享,創(chuàng)新的重要原動(dòng)力。各高校都把數(shù)字化資源建設(shè)當(dāng)作重點(diǎn)工作開(kāi)展。然而不少高校面臨著數(shù)字資源建設(shè)經(jīng)費(fèi)不足,除了購(gòu)置外部資源外,同時(shí)也要內(nèi)部開(kāi)發(fā)一些數(shù)字資源。對(duì)于數(shù)字資源的建設(shè),各高校的數(shù)字資源建設(shè)有共性需求,也有個(gè)性的需求,并非外部采購(gòu)能夠解決。在這樣的前提下,筆者嘗試運(yùn)用Visual FoxPro(以下簡(jiǎn)稱VFP)技術(shù)構(gòu)建可采集網(wǎng)頁(yè)數(shù)據(jù)的系統(tǒng),用以采集無(wú)版權(quán)問(wèn)題的在線學(xué)習(xí)資源,將不同來(lái)源的學(xué)習(xí)資源匯聚于同一數(shù)據(jù)庫(kù),來(lái)構(gòu)建主題數(shù)字資源庫(kù)。
1、高校數(shù)字化資源采集需要VFP技術(shù)
1.1 滿足基礎(chǔ)服務(wù)需求的角度選型
從提供基礎(chǔ)服務(wù)角度看,選用何種技術(shù)進(jìn)行開(kāi)發(fā)首先是從需求出發(fā),是否能滿足實(shí)際工作需要,系統(tǒng)是否能運(yùn)行穩(wěn)定、高效。而不僅僅是追求先進(jìn)性。并非最先進(jìn)的就是最能滿足需要的。筆者進(jìn)行的數(shù)據(jù)采集只是數(shù)字資源建設(shè)前期的數(shù)據(jù)整理階段的階段性的工具,在時(shí)間節(jié)點(diǎn)范圍能能夠滿足高校對(duì)數(shù)據(jù)的抓取工作。因此,在需求明確導(dǎo)向前提下,用最經(jīng)濟(jì)的手段來(lái)實(shí)現(xiàn)基礎(chǔ)服務(wù)的穩(wěn)定和高效運(yùn)行是最合理的。VFP兼有開(kāi)發(fā)工具和數(shù)據(jù)庫(kù)兩方面特征,能夠做到與操作與數(shù)據(jù)的無(wú)縫銜接,在前期的數(shù)據(jù)采集與整理上完全能夠滿足用戶需求。
1.2 存量用戶與技術(shù)衍生性
VFP數(shù)據(jù)庫(kù)在過(guò)去十年中在高校的普及應(yīng)用率較高,不少教學(xué)服務(wù)部門的管理系統(tǒng)都是基于VFP開(kāi)發(fā)的,如不少高校的教務(wù)系統(tǒng),學(xué)工系統(tǒng)都是基于VFP開(kāi)發(fā)等。因此,高校中的VFP存量用戶較多,在新系統(tǒng)建設(shè)中,首先要考慮的系統(tǒng)對(duì)接的兼容性,后續(xù)增加的系統(tǒng)最好能和之前的系統(tǒng)能夠無(wú)縫對(duì)接。而且,由于VFP的簡(jiǎn)單易學(xué),在系統(tǒng)使用和維護(hù)中,不少老師也逐漸摸索、學(xué)習(xí),逐漸掌握了 VFP的基礎(chǔ)開(kāi)發(fā)技能。因此,VFP來(lái)開(kāi)發(fā)數(shù)據(jù)采集系統(tǒng)是一個(gè)可以被應(yīng)用環(huán)境接受和用戶認(rèn)可的工具。
1.3 VFP自身的技術(shù)優(yōu)勢(shì)
VFP是開(kāi)發(fā)工具同時(shí)其本身也是數(shù)據(jù)庫(kù)。VFP數(shù)據(jù)庫(kù)發(fā)展到現(xiàn)在已經(jīng)相當(dāng)成熟,VFP系統(tǒng)小巧,相比Oracle等數(shù)據(jù)庫(kù),其不會(huì)占用太多的存儲(chǔ)空間。相比其他數(shù)據(jù)庫(kù),VFP的應(yīng)用程序開(kāi)發(fā)的效率較高,相比一些開(kāi)發(fā)語(yǔ)言,VFP本身強(qiáng)大的查詢功能。所以VFP是集開(kāi)發(fā)和數(shù)據(jù)庫(kù)的綜合體,簡(jiǎn)單易學(xué),操作靈活。同時(shí),VFP互操作性和對(duì)網(wǎng)絡(luò)支持性較強(qiáng)。
2、網(wǎng)頁(yè)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
2.1 VFP技術(shù)介紹
VFP是Microsoft公司推出的數(shù)據(jù)庫(kù)開(kāi)發(fā)軟件,提供多種可視化編程工具,最突出的是面向?qū)ο缶幊。支持結(jié)構(gòu)化查詢語(yǔ)言(SQL)命令和函數(shù)。由于其函數(shù)豐富、靈活方便、問(wèn)世較早,在國(guó)內(nèi)一段時(shí)期廣為流行。目前最新的版本是9.0。時(shí)至今日,由于其穩(wěn)定高效、易學(xué)易用,仍有大批高校將其作為小型數(shù)據(jù)庫(kù)使用,不少網(wǎng)絡(luò)教學(xué)管理系統(tǒng)前臺(tái)軟件也選用VFP開(kāi)發(fā)。
2.2 系統(tǒng)設(shè)計(jì)目標(biāo)
我們將VFP開(kāi)發(fā)的網(wǎng)頁(yè)數(shù)據(jù)采集系統(tǒng)應(yīng)用于學(xué)校數(shù)字化資源建設(shè)子項(xiàng)目——開(kāi)源版權(quán)的學(xué)習(xí)視頻內(nèi)容的采集,具體來(lái)說(shuō),是針對(duì)國(guó)外多所名校提供的開(kāi)源版權(quán)視頻源網(wǎng)址進(jìn)行分析和數(shù)據(jù)爬取,最終將開(kāi)源版權(quán)的文字和視頻數(shù)據(jù)提取、索引并保存入學(xué)校的資源庫(kù)。
2.3 系統(tǒng)功能結(jié)構(gòu)
VFP開(kāi)發(fā)的網(wǎng)頁(yè)數(shù)據(jù)采集系統(tǒng)采用了模塊化的設(shè)計(jì),它由一些核部件和插件模塊構(gòu)成。核心部件可以配置,系統(tǒng)部件由管理控制臺(tái)、抓取順序控制器、中央控制器、流控制處理器、多線程控制組成。管理控制臺(tái)允許操作者進(jìn)行參數(shù)設(shè)置和任務(wù)管理。抓取順序控制器控制爬取活動(dòng)的排序和相關(guān)屬性。抓取任務(wù)通過(guò)排序后將任務(wù)信息傳遞給中央控制器進(jìn)行初始化。中央控制器吞吐隊(duì)列的URL信息和完成的URL 信息,并將任務(wù)指令傳遞給采集工作的核心工作區(qū)——流控制處理器。核流控制處理器的任務(wù)處理是呈流式運(yùn)作的,包括預(yù)讀、提取和寫(xiě)入三個(gè)部分。流控制處理器的工作是多線程了,保證了整個(gè)采集的高效率。
在采集的核心工作區(qū)——在流控制處理器中,工作的流程是這樣的:首先在接到中心控制器傳送來(lái)的隊(duì)列URL后,開(kāi)始預(yù)讀,預(yù)讀主要是做一些預(yù)處理工作,對(duì)處理進(jìn)行延遲和重新處理。接著,進(jìn)行提取工作,提取主要是獲得http資源,進(jìn)行ip轉(zhuǎn)換,發(fā)出http頭請(qǐng)求和接收響應(yīng),進(jìn)而抽取目標(biāo)HTML的標(biāo)簽。最后進(jìn)行寫(xiě)入,寫(xiě)入的工作是存儲(chǔ)爬取日志,返回爬取到的內(nèi)容和抽取特性,過(guò)濾并作寫(xiě)存儲(chǔ)的動(dòng)作。這一流程完成后,流控制處理器會(huì)提交完成的URL給中央控制器,做最后的維護(hù)。
3、系統(tǒng)實(shí)現(xiàn)
3.1 程序運(yùn)行的硬件環(huán)境
操作系統(tǒng)為Microsoft Windows XP或更高,內(nèi)存為1G或更高,硬盤占用約230MB,數(shù)據(jù)爬取采用4MB ADSL寬帶。
3.2 核心程序節(jié)錄
3.3 實(shí)驗(yàn)結(jié)論
我們將VFP開(kāi)發(fā)的網(wǎng)頁(yè)數(shù)據(jù)采集系統(tǒng)應(yīng)用于學(xué)校數(shù)字化資源建設(shè)子項(xiàng)目——開(kāi)源版權(quán)的學(xué)習(xí)視頻內(nèi)容的采集,針對(duì)國(guó)外多所名校提供的開(kāi)源版權(quán)視頻源網(wǎng)址進(jìn)行分析和數(shù)據(jù)爬取,并測(cè)試VFP開(kāi)發(fā)的網(wǎng)頁(yè)數(shù)據(jù)采集系統(tǒng)的性能,為后續(xù)的改進(jìn)提供測(cè)試。我們確立四個(gè)指標(biāo),從數(shù)據(jù)采集的正確率、召回率、覆蓋率和程序效率四個(gè)方面進(jìn)行測(cè)試。正確率是指VFP開(kāi)發(fā)的網(wǎng)頁(yè)數(shù)據(jù)采集系統(tǒng)能否正確的提取URL,正確率越高,爬取的效果越好;召回率是指程序爬蟲(chóng)探測(cè)到的數(shù)據(jù)與能夠爬取回來(lái)的數(shù)據(jù)的比值,召回率越高,爬蟲(chóng)的效果越好。覆蓋率是指對(duì)指定網(wǎng)站采集的覆蓋率,覆蓋率要全;程序的效率是說(shuō)VFP開(kāi)發(fā)的網(wǎng)頁(yè)數(shù)據(jù)采集系統(tǒng)采集的速度和穩(wěn)定性。經(jīng)過(guò)全天24小時(shí)無(wú)故障,不間斷的運(yùn)行,累計(jì)采集網(wǎng)頁(yè)數(shù)據(jù)300多萬(wàn)頁(yè)。數(shù)據(jù)采集的正確率、召回率、覆蓋率和程序效率均得到理想的效果。
4、結(jié)束語(yǔ)
本文闡述了一個(gè)基于VFP技術(shù)的網(wǎng)頁(yè)數(shù)據(jù)采集爬蟲(chóng)的一種工作流程和爬行算法,從鏈接和網(wǎng)頁(yè)內(nèi)容的分析和提取進(jìn)行爬行控制,給出了具體實(shí)施的核心程序,測(cè)試結(jié)果比較滿意;赩FP技術(shù)的網(wǎng)頁(yè)數(shù)據(jù)采集系統(tǒng)本身雖然屬于輕量級(jí),但針對(duì)高校數(shù)字化資源建設(shè)的需求現(xiàn)狀,本文提出解決方案經(jīng)過(guò)證明,能夠高效的完成網(wǎng)頁(yè)數(shù)據(jù)采集,是一種經(jīng)濟(jì)、實(shí)用、穩(wěn)定和高效的網(wǎng)頁(yè)數(shù)據(jù)采集方案。其對(duì)高校的數(shù)字化資源建設(shè)起重要作用。但是本系統(tǒng)的性能仍需提高,尤其在URL的優(yōu)先權(quán)選擇上需要進(jìn)一步改進(jìn)。
參考文獻(xiàn):
[1]張敏,孫敏.基于Heritrix限定爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2013,30(4):33-35.
[2]王永國(guó),張士江,謝倩.基于Visual FoxPro環(huán)境ACCESS數(shù)據(jù)庫(kù)操作的實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(1):95-99.
[3]孫庚,馮艷紅,于紅,史鵬輝.一種基于Heritrix的網(wǎng)絡(luò)定題爬蟲(chóng)算法——以漁業(yè)信息網(wǎng)絡(luò)為例[J].軟件導(dǎo)刊,2010,9(5):47-49.
[4]王映,于滿泉,李盛韜,王斌,余智華.JavaScript引擎在動(dòng)態(tài)網(wǎng)頁(yè)采集技術(shù)中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用,2004,24(2):33-36.
[5]馬愛(ài)芳,仲少云.基于VFP的資料室圖書(shū)管理系統(tǒng)的設(shè)計(jì)[J].現(xiàn)代情報(bào),2004,(3):104-108.
【VFP技術(shù)在網(wǎng)頁(yè)數(shù)據(jù)采集中開(kāi)發(fā)的方向分析】相關(guān)文章:
大數(shù)據(jù)技術(shù)在網(wǎng)絡(luò)營(yíng)銷中的策略研究論文01-23
員工培訓(xùn)與開(kāi)發(fā)方向開(kāi)題報(bào)告05-04
XML技術(shù)在網(wǎng)絡(luò)招生中的應(yīng)用03-29
試論基于數(shù)據(jù)挖掘技術(shù)的保護(hù)設(shè)備故障信息管理與分析系統(tǒng)12-05
市場(chǎng)營(yíng)銷在網(wǎng)絡(luò)經(jīng)濟(jì)中的研究分析12-11
企業(yè)能耗數(shù)據(jù)采集軟件的設(shè)計(jì)與開(kāi)發(fā)論文02-21
數(shù)據(jù)挖掘與客戶關(guān)系管理分析02-28
數(shù)據(jù)挖掘技術(shù)在高校學(xué)生成績(jī)分析中的應(yīng)用研究論文03-15
改進(jìn)標(biāo)號(hào)法在網(wǎng)絡(luò)計(jì)劃技術(shù)中的應(yīng)用的論文03-17
- 相關(guān)推薦