鄭志高,劉慶圣,陳立彬
(1.陜西師范大學(xué) 新聞傳播學(xué)院知識媒體研究所,陜西 西安710062;2.西安陸軍學(xué)院 軍訓(xùn)教研室,陜西 西安 710108)
基于主題網(wǎng)絡(luò)爬蟲的網(wǎng)絡(luò)學(xué)習(xí)資源收集平臺的設(shè)計
鄭志高1,劉慶圣1,陳立彬2
(1.陜西師范大學(xué) 新聞傳播學(xué)院知識媒體研究所,陜西 西安710062;2.西安陸軍學(xué)院 軍訓(xùn)教研室,陜西 西安 710108)
收集現(xiàn)存于網(wǎng)絡(luò)中的信息,對其進(jìn)行加工、處理使其成為可用的學(xué)習(xí)資源是網(wǎng)絡(luò)學(xué)習(xí)資源建設(shè)中一項重要工作,主題網(wǎng)絡(luò)爬蟲為在網(wǎng)絡(luò)學(xué)習(xí)資源建設(shè)過程實現(xiàn)信息的自動收集提供了可能,本文以此為基礎(chǔ)設(shè)計了一個能滿足資源建設(shè)需要的網(wǎng)絡(luò)學(xué)習(xí)資源收集平臺并對設(shè)計過程中的關(guān)鍵問題進(jìn)行了分析。
主題網(wǎng)絡(luò)爬蟲 網(wǎng)絡(luò)學(xué)習(xí)資源 網(wǎng)絡(luò)學(xué)習(xí)平臺設(shè)計
收集現(xiàn)存于網(wǎng)絡(luò)中的各類信息,對其進(jìn)行加工、處理使其成為可用的學(xué)習(xí)資源是網(wǎng)絡(luò)學(xué)習(xí)資源建設(shè)中一項重要工作,在其過程中資源建設(shè)者面臨兩大難題:
(1)如何高效、快速地從網(wǎng)絡(luò)海量信息中篩選出資源建設(shè)所需的各種信息;
(2)如何使加工完成的資源更新速度跟上網(wǎng)絡(luò)信息快速更新的速度。
這兩個問題的解決不能靠人工操作完成,較好的解決方案是使用功能程序輔助資源建設(shè)者進(jìn)行信息收集和檢測,目前被廣泛使用于網(wǎng)絡(luò)搜索引擎的網(wǎng)絡(luò)爬蟲能較好地解決上述兩個問題,本文就網(wǎng)絡(luò)爬蟲在網(wǎng)絡(luò)學(xué)習(xí)資源建設(shè)中的應(yīng)用方法進(jìn)行研究。
網(wǎng)絡(luò)爬蟲是一個網(wǎng)頁自動提取程序,它從一個或若干初始網(wǎng)頁開始,獲取包含在其中的URL(Uniform Resourcl Locator,統(tǒng)一資源定位符)進(jìn)行網(wǎng)頁抓取,在抓取網(wǎng)頁過程中,從被抓取的網(wǎng)頁中抽取新的URL放入抓取隊列,直到滿足系統(tǒng)設(shè)定的停止條件終止抓取過程。主題網(wǎng)絡(luò)爬蟲是根據(jù)一定網(wǎng)頁分析算法過濾與主題無關(guān)的鏈接,只保留主題相關(guān)的鏈接進(jìn)行網(wǎng)頁抓取。[1]主題網(wǎng)絡(luò)爬蟲工作原理如圖1所示。[2]
主題網(wǎng)絡(luò)爬蟲各個組成部分功能如下:
(1)初始頁面:包含超鏈接的一個或若干個網(wǎng)頁,主題網(wǎng)絡(luò)爬蟲從中獲取要抓取的起始頁面。
(2)頁面預(yù)處理模塊:用于頁面的分析和去除頁面中的無用信息(如廣告鏈接等)。
(3)鏈接分析模塊:用于分析頁面中提取的超鏈接,并將有效鏈接放入下載URL隊列等待抓取。
(4)下載模塊:從下載隊列中獲取URL進(jìn)行網(wǎng)頁抓取。
(5)主題過濾模塊:對抓取的頁面按照主題進(jìn)行過濾,去除跟主題無關(guān)的頁面,將滿足條件的頁面放入頁面庫。
(6)頁面庫:用于存放被抓取滿足條件的頁面。
根據(jù)其工作原理,主題網(wǎng)絡(luò)爬蟲能夠從一個或若干個初始頁面開始自動收集分析滿足特定要求的頁面并對其進(jìn)行保存,完成信息的收集。因而在網(wǎng)絡(luò)學(xué)習(xí)資源建設(shè)過程中,可以以此為基礎(chǔ)設(shè)計一個自動收集信息的平臺有效地解決前文所述網(wǎng)絡(luò)學(xué)習(xí)資源建設(shè)過程中面對的兩個難題。
1.將主題網(wǎng)絡(luò)爬蟲直接應(yīng)用網(wǎng)絡(luò)學(xué)習(xí)資源的收集會產(chǎn)生的問題
(1)主題網(wǎng)絡(luò)爬蟲工作時需要從一個或若干個起始頁面獲取URL啟動抓取過程,但它本身不能產(chǎn)生,需要資源建設(shè)者提供,而且初始頁面的內(nèi)容會直接影響主題網(wǎng)絡(luò)爬蟲抓取的信息的覆蓋率和準(zhǔn)確性。
(2)主題網(wǎng)絡(luò)爬蟲只能夠按照要求進(jìn)行頁面的獲取和保存,不能分析其內(nèi)容的科學(xué)性和準(zhǔn)確性,而科學(xué)準(zhǔn)確是學(xué)習(xí)資源對信息最重要的要求。
(3)主題網(wǎng)絡(luò)爬蟲不提供對抓取、保存的信息進(jìn)行處理的功能,而信息需要進(jìn)行加工處理才能成為可用的學(xué)習(xí)資源。
因此以主題網(wǎng)絡(luò)爬蟲為基礎(chǔ)構(gòu)建網(wǎng)絡(luò)學(xué)習(xí)資源收集平臺必須解決這三個問題,綜合網(wǎng)絡(luò)主題網(wǎng)絡(luò)爬蟲的工作原理和網(wǎng)絡(luò)學(xué)習(xí)資源建設(shè)內(nèi)在的要求,基于主題網(wǎng)絡(luò)爬蟲的網(wǎng)絡(luò)學(xué)習(xí)資源收集平臺結(jié)構(gòu)如圖2所示。
2.整個平臺由數(shù)據(jù)層、系統(tǒng)層和應(yīng)用層構(gòu)成
數(shù)據(jù)層用于保存平臺運行過程中需要以及產(chǎn)生的數(shù)據(jù),包括:
(1)初始頁面列表:用于保存初始頁面的URL,初始頁面既可以是已存在于網(wǎng)絡(luò)中的頁面,也可以是根據(jù)資源建設(shè)需要由建設(shè)者整理編輯完成的頁面。
(2)保存頁面URL列表:用于保存頁面庫中頁面的URL。該數(shù)據(jù)可用于注明已下載的頁面的出處以及減少平臺在資源下載過程中對相同位置上的同一資源進(jìn)行重復(fù)下載。
(3)主題列表:用于保存在信息篩選時使用的主題信息,通過修改和設(shè)置主題列表可以使平臺收集不同主題的信息,提高平臺的通用性。
(4)頁面庫:用于保存由平臺下載且經(jīng)過主題篩選的頁面。
系統(tǒng)層核心是一個主題網(wǎng)絡(luò)爬蟲,根據(jù)網(wǎng)絡(luò)學(xué)習(xí)資源建設(shè)需要進(jìn)行了優(yōu)化和功能擴(kuò)展。體現(xiàn)在以下兩方面:
第一,主題過濾模塊每次工作時首先從主題列表中讀取主題,以確定本次工作的主題信息。
第二,下載模塊進(jìn)行頁面下載時,首先查詢下載頁面的URL是否存在于保存頁面URL列表中,如果存在則跳過該頁面的下載,進(jìn)行下一個頁面的下載;完成頁面下載后將其URL加入保存頁面URL列表中。
應(yīng)用層用于平臺運行環(huán)境設(shè)置和資源的處理,包括:
初始頁面設(shè)置模塊,用于初始頁面的編輯和初始頁面URL列表的管理;主題處理模塊,用于主題列表的管理,包括主題的添加、刪除、修改等;學(xué)習(xí)資源處理模塊,用于對平臺自動收集信息進(jìn)行處理,使其成為滿足需求的學(xué)習(xí)資源。不同類型的學(xué)習(xí)資源建設(shè)對信息處理的要求會有所差別,如有些網(wǎng)絡(luò)學(xué)習(xí)資源建設(shè)只要求提供資源清單,而有些需要對相關(guān)信息進(jìn)行重組處理,該模塊要根據(jù)資源建設(shè)要求進(jìn)行設(shè)計,也可以直接使用現(xiàn)有的信息處理軟件。
3.平臺運行流程
(1)用戶根據(jù)資源建設(shè)需要確定主題信息,使用主題處理模塊將有關(guān)信息加入主題列表或者對主題列表中的有關(guān)內(nèi)容進(jìn)行編輯修改。
(2)用戶收集網(wǎng)絡(luò)中與資源相關(guān)、代表性的網(wǎng)頁作為起始頁,這些頁面一般要包含豐富的超鏈接,利用初始頁面處理模塊將其URL填入初始頁面列表中或者對列表中的有關(guān)內(nèi)容進(jìn)行修改;資源建設(shè)者也可根據(jù)資源建設(shè)需要編輯初始頁面并將相關(guān)信息填入初始頁面列表。
(3)運行平臺系統(tǒng)層完成信息的自動收集。
(4)運行資源處理程序完成資源的處理。
平臺運行包含四個環(huán)節(jié),這四個環(huán)節(jié)相互獨立,在資源建設(shè)和維護(hù)過程中,資源建設(shè)者可以從任意一個環(huán)節(jié)開始信息的收集和處理操作;通過反復(fù)運行平臺,可以實現(xiàn)跟蹤相關(guān)網(wǎng)站中的信息更新,從而使處理完成的資源跟上網(wǎng)絡(luò)信息的更新。
1.如何提高網(wǎng)絡(luò)學(xué)習(xí)資源收集平臺信息搜索覆蓋率
這一問題的解決取決于兩個因素,一是初始頁面的選擇,選擇內(nèi)容與主題密切相關(guān)且包含豐富超鏈接的頁面作為初始頁面(如與資源建設(shè)內(nèi)容相關(guān)的主題網(wǎng)站)和適當(dāng)增加初始頁面的數(shù)目可以提高平臺搜索的范圍,從而提高收集資源的覆蓋率。二是平臺核心構(gòu)件主題網(wǎng)絡(luò)爬蟲采用的搜索策略。作為主題網(wǎng)絡(luò)爬蟲的核心技術(shù)國內(nèi)外有大量與之相關(guān)的研究,文獻(xiàn)[3][4][5][6]對目前國內(nèi)外比較成熟的搜索策略進(jìn)行了綜述,以主題網(wǎng)路爬蟲設(shè)計網(wǎng)絡(luò)學(xué)習(xí)資源收集平臺,可根據(jù)資源建設(shè)需要選擇合適的搜索策略。
2.如何提高下載信息的有效性
下載信息對資源建設(shè)的有效性取決于主題網(wǎng)絡(luò)爬蟲采用的主題搜索算法。高效的主題搜索算法有助于平臺從下載的頁面包含的超鏈接中篩選出與主題密切相關(guān)的URL進(jìn)行頁面下載,從而提高下載信息的準(zhǔn)確率。另外與主題內(nèi)容密切相關(guān)的頁面作為初始頁在一定程度上也能提高下載信息的有效性。
3.完成處理的資源是否能跟蹤網(wǎng)絡(luò)信息的更新
網(wǎng)絡(luò)信息的更新包括兩種情況:一是新信息的添加;二是原有信息的修改。文中設(shè)計的平臺可以在一定程度上跟蹤其所能覆蓋網(wǎng)站添加的信息,但不能夠跟蹤網(wǎng)站修改的信息。如果要跟蹤相關(guān)網(wǎng)站修改的信息需在平臺中應(yīng)用網(wǎng)絡(luò)爬蟲的資源更新策略以及相關(guān)的算法。
4.頁面庫的組織形式
網(wǎng)絡(luò)爬蟲對下載的頁面通常采用兩種形式進(jìn)行存儲:純文件和數(shù)據(jù)庫。純文件存儲是用統(tǒng)一的文件格式對下載的頁面進(jìn)行保存,這種方式結(jié)構(gòu)統(tǒng)一,比較容易實現(xiàn)用現(xiàn)有的信息處理程序?qū)ζ溥M(jìn)行處理,但存在不能適應(yīng)數(shù)據(jù)的動態(tài)變化、如果文件內(nèi)容缺失會導(dǎo)致程序無法正常讀取等諸多缺點。數(shù)據(jù)庫存儲方式是將相關(guān)數(shù)據(jù)以記錄形式存入庫中,這種存儲方式比較容易實現(xiàn)對平臺下載的大量數(shù)據(jù)進(jìn)行高效管理和維護(hù),而且支持快速查詢,但需要數(shù)據(jù)庫系統(tǒng)環(huán)境的支持,如果用現(xiàn)有的信息處理程序?qū)ζ溥M(jìn)行處理可能會產(chǎn)生程序無法從數(shù)據(jù)庫中提取數(shù)據(jù)的障礙。在平臺設(shè)計過程中可以綜合考慮資源建設(shè)需要和信息處理要求選擇合適的數(shù)據(jù)存儲方式。
[1]劉金紅,陸余良.主題網(wǎng)絡(luò)爬蟲研究綜述[J].計算機(jī)應(yīng)用研究,2007(10):26-29.
[2]戚欣.基于本體的主題網(wǎng)絡(luò)爬蟲設(shè)計[J].武漢理工大學(xué)學(xué)報,2009(2):138-141.
[3]陳方,譚愛平.主題爬蟲技術(shù)研究綜述[J].湖南工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報,2008(10):13-16.
[4]劉漢興,劉財興.主題爬蟲的搜索策略研究[J].計算機(jī)工程與設(shè)計,2008(6):3160-3162.
[5]楊貞.基于本體的主題爬蟲的設(shè)計與實現(xiàn)[D].中國優(yōu)秀碩士學(xué)位論文全文數(shù)據(jù)庫,2008.
[6]周立柱,林玲.聚焦爬蟲技術(shù)研究綜述[J].計算機(jī)應(yīng)用,2005(9):1966-1968.
(編輯:楊馥紅)
G250.73
B
1673-8454(2010)01-0036-03