季士妍 趙丹陽(yáng)
數(shù)字資源保存
國(guó)家圖書(shū)館WEB數(shù)據(jù)增量采集設(shè)計(jì)及其實(shí)現(xiàn)
季士妍 趙丹陽(yáng)
(國(guó)家圖書(shū)館,北京 100081)
本文詳細(xì)介紹網(wǎng)絡(luò)資源保存技術(shù)策略現(xiàn)狀,并從國(guó)家圖書(shū)館網(wǎng)絡(luò)資源采集的實(shí)際業(yè)務(wù)需求出發(fā),制定并設(shè)計(jì)符合國(guó)家圖書(shū)館業(yè)務(wù)需求的增量采集技術(shù)策略,簡(jiǎn)述國(guó)家圖書(shū)館基于Heritrix3.4的增量采集實(shí)現(xiàn)方法和實(shí)驗(yàn)效果,以期為業(yè)界提供有益的參考和借鑒。
國(guó)家圖書(shū)館;增量采集;Heritrix
國(guó)際互聯(lián)網(wǎng)保存事業(yè)開(kāi)始于20世紀(jì)90年代,作為國(guó)家公共文化服務(wù)體系的重要組成部分,國(guó)家圖書(shū)館最早于2003年開(kāi)展網(wǎng)絡(luò)信息資源采集與保存試驗(yàn)項(xiàng)目(Web Information Collection and Preservation,WICP)[1],針對(duì)中國(guó)發(fā)生的具有較大影響力的重特大事件進(jìn)行專題采集;同時(shí),對(duì)在中國(guó)境內(nèi)注冊(cè)的政府網(wǎng)站(.gov.cn)進(jìn)行定期鏡像存檔。多年來(lái),國(guó)家圖書(shū)館在采集策略、采集方法、采集效率等方面不斷尋求突破。在開(kāi)展規(guī)模性采集中,一方面采取全面采集和重點(diǎn)采集相結(jié)合的方式,盡量實(shí)現(xiàn)覆蓋范圍更廣的有效采集;另一方面,充分考慮采集內(nèi)容的延續(xù)性和數(shù)據(jù)的有效性,不斷修正網(wǎng)絡(luò)資源采集范圍。在采集方法上,構(gòu)建全流程、自動(dòng)化、分布式的網(wǎng)絡(luò)資源保存與服務(wù)平臺(tái),高效開(kāi)展互聯(lián)網(wǎng)資源采集保存。與此同時(shí),隨著互聯(lián)網(wǎng)信息爆炸式的增長(zhǎng),WEB網(wǎng)站的內(nèi)容信息在以天甚至小時(shí)為單位快速變更,國(guó)家圖書(shū)館每年進(jìn)行一次全站采集的頻率,很難保障網(wǎng)絡(luò)資源保存內(nèi)容的時(shí)新性和數(shù)據(jù)更新的及時(shí)性,這樣一定程度上減弱了網(wǎng)絡(luò)資源保存的意義;如果以現(xiàn)有的全站采集方式縮短采集頻率,又會(huì)面臨新的局限和挑戰(zhàn)。
無(wú)論是受限于國(guó)家圖書(shū)館采集業(yè)務(wù)覆蓋范圍廣、采集數(shù)據(jù)量大、存儲(chǔ)硬件資源有限、網(wǎng)絡(luò)帶寬受限等因素,還是歸因于WEB網(wǎng)站資源量大、WEB網(wǎng)頁(yè)多版本重復(fù)數(shù)據(jù)量大、IT網(wǎng)頁(yè)技術(shù)快速發(fā)展等客觀因素,仍使用WEB網(wǎng)站全站采集與保存的策略與方式,將會(huì)缺失較多版本的WEB網(wǎng)站的變化信息,也不能利用有限的存儲(chǔ)空間保存更多數(shù)量的WEB網(wǎng)站。因此,國(guó)家圖書(shū)館根據(jù)自身業(yè)務(wù)特點(diǎn)和需求,選擇基于Heritrix最新版本,進(jìn)行程序定制開(kāi)發(fā),以增量方式采集網(wǎng)站,提高采集效率,靈活數(shù)據(jù)更新機(jī)制,較好地避免了周期性整站采集所產(chǎn)生的大規(guī)模網(wǎng)站采集效率低、大量網(wǎng)站重復(fù)數(shù)據(jù)保存以及存儲(chǔ)空間利用浪費(fèi)等問(wèn)題,以實(shí)現(xiàn)國(guó)家圖書(shū)館網(wǎng)絡(luò)資源保存項(xiàng)目中大批量WEB網(wǎng)站的增量采集和有效管理。
網(wǎng)絡(luò)信息時(shí)代,互聯(lián)網(wǎng)信息逐漸成為人類文明記憶的載體,及時(shí)記錄時(shí)代記憶、保留網(wǎng)絡(luò)烙印變得非常重要。但隨著互聯(lián)網(wǎng)信息的爆炸式增長(zhǎng),WEB信息以指數(shù)級(jí)速度發(fā)生著變化,新數(shù)據(jù)快速增長(zhǎng),舊數(shù)據(jù)不斷更新與迭代,給Web Archives機(jī)構(gòu)帶來(lái)巨大的壓力和挑戰(zhàn)。因此如何優(yōu)化網(wǎng)絡(luò)資源采集策略和采集技術(shù)以廣泛和完整地保存互聯(lián)網(wǎng)資源成為業(yè)界研究熱點(diǎn)。
近年來(lái),國(guó)外的Web Archives機(jī)構(gòu)對(duì)互聯(lián)網(wǎng)資源的保存展開(kāi)了廣泛的研究并積極開(kāi)展多個(gè)項(xiàng)目,多個(gè)國(guó)家均開(kāi)展了網(wǎng)絡(luò)資源采集與保存相關(guān)工作,并從本國(guó)的實(shí)際出發(fā),不斷擴(kuò)大保存范圍、豐富保存資源類型、完善采集技術(shù),WEB數(shù)據(jù)“增量采集”[2-4]也是各個(gè)國(guó)家圖書(shū)館探討的熱點(diǎn)和研究實(shí)踐的方向。美國(guó)IA(Internet Archive)[5]是目前世界上規(guī)模最大的網(wǎng)絡(luò)資源存檔與研究項(xiàng)目,其收集的網(wǎng)絡(luò)資源內(nèi)容豐富,包括網(wǎng)頁(yè)、音樂(lè)、視頻資料等內(nèi)容,主要通過(guò)網(wǎng)絡(luò)爬蟲(chóng)自動(dòng)收集,使用Wayback Machine實(shí)現(xiàn)網(wǎng)頁(yè)回放。美國(guó)國(guó)會(huì)圖書(shū)館2000年開(kāi)始啟動(dòng)MINERVA項(xiàng)目[6],通過(guò)圖書(shū)館、大學(xué)、檔案館、出版社、企業(yè)等機(jī)構(gòu)的合作,共同制定全國(guó)范圍的資源采集、保存戰(zhàn)略,并研究最新網(wǎng)絡(luò)資源采集技術(shù),鑒別瀕臨消失的網(wǎng)絡(luò)資源。英國(guó)開(kāi)展網(wǎng)絡(luò)資源保存項(xiàng)目UK Web Archive[7],對(duì)英國(guó)網(wǎng)站進(jìn)行選擇性保存,并聯(lián)合大英圖書(shū)館(British Library)、英國(guó)國(guó)家檔案館(National Archives)等機(jī)構(gòu)共同制定采集策略。澳大利亞網(wǎng)絡(luò)檔案館開(kāi)展了Pandora Archive項(xiàng)目[8],基于IIPC的開(kāi)源軟件開(kāi)發(fā)Pandas系統(tǒng),以支持圖書(shū)館和其他項(xiàng)目參與者采用的選擇性網(wǎng)絡(luò)存檔方法所涉及的任務(wù)和工作流程。日本國(guó)立國(guó)會(huì)圖書(shū)館啟動(dòng)WARP(Web Archiving Project)項(xiàng)目,頒發(fā)了修訂后的《國(guó)立國(guó)會(huì)圖書(shū)館法》[9],明確了日本國(guó)立國(guó)會(huì)圖書(shū)館可以收集、保存國(guó)家公共機(jī)構(gòu)的網(wǎng)站信息,積極推進(jìn)相關(guān)立法、靈活采用采集策略、充分挖掘采集資源。
在我國(guó),圖書(shū)館、高校等科研機(jī)構(gòu)開(kāi)展了一系列網(wǎng)絡(luò)信息采集研究與部分實(shí)踐。北京高校圖書(shū)館網(wǎng)絡(luò)“教學(xué)科研數(shù)字圖書(shū)館”研究項(xiàng)目[10]從文獻(xiàn)信息采集與整合的總體思路、采集的基本步驟、加工的標(biāo)準(zhǔn)與規(guī)范、操作規(guī)范等方面進(jìn)行了數(shù)字資源采集與整合。中國(guó)科學(xué)院文獻(xiàn)情報(bào)中心開(kāi)展“國(guó)際重要科技機(jī)構(gòu)網(wǎng)絡(luò)信息采集與存檔管理平臺(tái)”項(xiàng)目[11],基于IIPC[12]基本工具的選擇和使用,搭建技術(shù)平臺(tái),探索了重要網(wǎng)絡(luò)科技信息資源的保存和利用。國(guó)家圖書(shū)館于2003年開(kāi)展WICP,開(kāi)始實(shí)驗(yàn)性地對(duì)中國(guó)境內(nèi)的互聯(lián)網(wǎng)資源進(jìn)行采集與保存;在2005年將網(wǎng)絡(luò)信息采集成果服務(wù)網(wǎng)站上線,提供熱點(diǎn)專題和政府網(wǎng)站存檔資源瀏覽服務(wù)。此后國(guó)家圖書(shū)館一直在致力于中國(guó)的網(wǎng)絡(luò)信息資源采集與保存相關(guān)工作的研究與實(shí)踐。
可以看到,國(guó)際上網(wǎng)絡(luò)資源采集與保存工作發(fā)展迅速,部分國(guó)家已經(jīng)將網(wǎng)絡(luò)資源的保存上升到國(guó)家戰(zhàn)略層面,而這些國(guó)家的網(wǎng)絡(luò)資源保存工作能夠大規(guī)模開(kāi)展、不斷地進(jìn)行研究和優(yōu)化并取得巨大成果,正是與國(guó)家層面的相應(yīng)政策以及圖書(shū)館、保存機(jī)構(gòu),甚至企業(yè)之間的密切合作和聯(lián)合行動(dòng)密不可分的。國(guó)內(nèi)在網(wǎng)絡(luò)資源保存方面的研究和實(shí)踐上相對(duì)起步較晚,網(wǎng)絡(luò)信息資源的保存環(huán)境缺乏政策扶持,輿論上也缺乏社會(huì)和公眾對(duì)網(wǎng)絡(luò)資源存檔的認(rèn)可;各個(gè)研究機(jī)構(gòu)相對(duì)獨(dú)立,研究和實(shí)驗(yàn)的展開(kāi)多以單一角度或單一資源類型為切入點(diǎn),只有極個(gè)別的機(jī)構(gòu)開(kāi)展了規(guī)模性的網(wǎng)絡(luò)資源保存項(xiàng)目,研究在技術(shù)上借鑒國(guó)外同類項(xiàng)目經(jīng)驗(yàn)的同時(shí),缺乏連貫性、深入性和完善性。放眼全球,網(wǎng)絡(luò)資源的保存不是一個(gè)機(jī)構(gòu)能夠做的,需要戰(zhàn)略指導(dǎo)以及分地區(qū)、跨領(lǐng)域的合作,自上而下地大范圍地開(kāi)展規(guī)模性的、適應(yīng)國(guó)情的網(wǎng)絡(luò)資源保存項(xiàng)目,并在項(xiàng)目中不斷完善和優(yōu)化保存策略和技術(shù)。
網(wǎng)絡(luò)資源保存涉及很多的策略技術(shù)問(wèn)題(如網(wǎng)絡(luò)資源重要性評(píng)估、網(wǎng)頁(yè)資源的深層挖掘等),由于各個(gè)國(guó)家的技術(shù)架構(gòu)不同,其采用的基礎(chǔ)技術(shù)策略和采集方法也不同,如美國(guó)主要采用壓縮文檔的方法和基于特征提取的方法;澳大利亞Pandora Archive項(xiàng)目主要采用多文件采集;瑞典、挪威、芬蘭等主要基于文件格式進(jìn)行遷移。網(wǎng)絡(luò)資源保存的技術(shù)策略分類沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),目前較為認(rèn)可的包括基于整個(gè)WEB的信息采集、面向主題的WEB信息采集[13]、增量式WEB信息采集、分布式WEB信息采集[14]、個(gè)性化的WEB信息采集[15]、多技術(shù)結(jié)合的信息采集[16]和基于元搜索的信息采集[17]等。
在網(wǎng)絡(luò)資源保存的獲取工具方面,有基于Java語(yǔ)言的Heritrix、Apache Nutch等,基于Python語(yǔ)言的Scrapy、cola等,基于C#的ccrawler等,但國(guó)際上主流Web Archive機(jī)構(gòu)均采用國(guó)際互聯(lián)網(wǎng)保存聯(lián)盟IIPC研發(fā)的開(kāi)源工具Heritrix[18],可實(shí)現(xiàn)抓取完整的站點(diǎn)內(nèi)容,支持網(wǎng)絡(luò)資源采集的爬蟲(chóng)定義和網(wǎng)頁(yè)過(guò)濾技術(shù),具有較為高效的可配置功能。同時(shí),Heritrix采用優(yōu)先算法,技術(shù)模塊包括核心類和插件模塊,用戶可以自行選擇模塊,也可以在此基礎(chǔ)上進(jìn)行不同需求的定制開(kāi)發(fā)。IIPC也開(kāi)發(fā)了網(wǎng)絡(luò)資源存檔相關(guān)軟件工具,包括存儲(chǔ)方面的工具HTTrack2ARC、WARC Tools等,其數(shù)據(jù)封裝有WARCIP、AFF等不同格式,國(guó)際上廣泛應(yīng)用的主要為WARC[19]格式,以實(shí)現(xiàn)對(duì)內(nèi)容提取、相關(guān)主題驗(yàn)證、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)封裝和格式轉(zhuǎn)換等各種功能的操作。同時(shí),IIPC各成員機(jī)構(gòu)根據(jù)自身的業(yè)務(wù)需求,在IIPC開(kāi)源工具的框架上獨(dú)自開(kāi)發(fā)相關(guān)軟件,最為廣泛使用的軟件是Wayback Machine,其次還有Time Travel Portal、Nutch WAX等。隨著技術(shù)的發(fā)展,IIPC致力于優(yōu)化WEB存檔的工具和保存標(biāo)準(zhǔn),不斷更新完善Heritrix版本,滿足各個(gè)機(jī)構(gòu)的實(shí)際網(wǎng)絡(luò)資源保存業(yè)務(wù)的個(gè)性化定制和開(kāi)發(fā)需求,促進(jìn)國(guó)際合作。
增量采集方式替代原有整站采集方式,可以有效節(jié)省采集服務(wù)器的存儲(chǔ)空間資源和網(wǎng)絡(luò)帶寬資源,縮短周期性采集整站的時(shí)間,提高采集效率。
國(guó)家圖書(shū)館采用的WEB網(wǎng)頁(yè)增量采集,是在采集整站W(wǎng)EB網(wǎng)頁(yè)數(shù)據(jù)基礎(chǔ)上,以采集新出現(xiàn)的網(wǎng)頁(yè)、變更的網(wǎng)頁(yè)和已經(jīng)刪除的網(wǎng)頁(yè)為目標(biāo)的采集,且以主流靜態(tài)索引類型網(wǎng)站為主,保障增量采集數(shù)據(jù)內(nèi)容不遺漏、不重復(fù)。基于需要實(shí)現(xiàn)的采集目標(biāo)和主流靜態(tài)索引型網(wǎng)站的特點(diǎn),考慮將網(wǎng)站劃分為網(wǎng)站索引頁(yè)、索引頁(yè)鏈接、頁(yè)面內(nèi)容和內(nèi)容變更頻率4個(gè)部分分別制定識(shí)別策略,來(lái)分流出采集目標(biāo)并做采集性能優(yōu)化處理;同時(shí),考慮到國(guó)家圖書(shū)館網(wǎng)絡(luò)資源存檔的連續(xù)性、現(xiàn)有的硬件環(huán)境以及項(xiàng)目后續(xù)的優(yōu)化和深入,綜合選擇高版本、高性能的采集工具,結(jié)合制定的增量采集策略完成程序的定制開(kāi)發(fā),以實(shí)現(xiàn)增量采集目標(biāo)、提高硬件運(yùn)行效率和規(guī)模性的生產(chǎn)采集。
Heritrix是基于Java語(yǔ)言實(shí)現(xiàn)的開(kāi)源網(wǎng)絡(luò)爬蟲(chóng)軟件,當(dāng)前主要有Heritrix 1.14.4和Heritrix 3.x兩個(gè)主要版本。國(guó)家圖書(shū)館2016年開(kāi)發(fā)的網(wǎng)絡(luò)資源保存與服務(wù)平臺(tái)是基于Heritrix 1.14.4版本實(shí)現(xiàn)的個(gè)性化采集模塊程序開(kāi)發(fā),考慮到Heritrix 1.14.4具有AdaptiveRevisitingFrontier模塊,根據(jù)自定義的間隔時(shí)間重復(fù)訪問(wèn)解析到的URI,進(jìn)而可以實(shí)現(xiàn)網(wǎng)頁(yè)資源的增量采集。但是Adaptive RevisitingFrontier模塊對(duì)URI的重復(fù)訪問(wèn)功能,只在同一個(gè)采集任務(wù)周期內(nèi)有效,當(dāng)該采集任務(wù)自動(dòng)結(jié)束或管理員手動(dòng)終止時(shí),F(xiàn)rontier中記錄的所有URI的信息會(huì)被清除,進(jìn)而導(dǎo)致Heritrix 1.14.4的增量功能不穩(wěn)定且無(wú)法滿足實(shí)際的工作需求。因此,國(guó)家圖書(shū)館在增量采集的設(shè)計(jì)和實(shí)現(xiàn)上,根據(jù)采集業(yè)務(wù)的要求選擇了合適的Heritrix版本,舍棄了一直沿用的Heritrix 1.14.4版本,采用Heritrix 3.4版本,以實(shí)現(xiàn)增量采集模塊的定制開(kāi)發(fā)。
Heritrix 3.4主要由WEB控制臺(tái)Web Administrative和爬蟲(chóng)功能模塊Engine構(gòu)成。Engine主要由中央控制器CrawlController、邊界控制器Frontier、中央處理器組Processor Chain等部分組成。工作流程如圖1所示。
邊界控制器Frontier內(nèi)部存儲(chǔ)了很多的URI隊(duì)列,并對(duì)URI進(jìn)行調(diào)度,根據(jù)Heritrix相應(yīng)的策略,分配不同的URI到WorkQueue中,然后根據(jù)不同的策略從WorkQueue中取出URI送給中央處理器組Processor Chain,中央處理器組Processor Chain中的FetchChain、DispositionChain和CandidateChain處理鏈分別對(duì)接收到的URI進(jìn)行解析、抓取、過(guò)濾、存儲(chǔ)等操作,將篩選出來(lái)的新的URI再送回至邊界控制器Frontier中,進(jìn)行下一個(gè)操作循環(huán)。
國(guó)家圖書(shū)館基于Heritrix 3.4版本定制開(kāi)發(fā)的增量采集要實(shí)現(xiàn)的目標(biāo)包括以下內(nèi)容。首先,整體程序?qū)λ\(yùn)行的環(huán)境較為友好,可以運(yùn)行在一個(gè)較低成本的硬件環(huán)境中;整體程序在運(yùn)行中較少占用服務(wù)器內(nèi)存,進(jìn)而可以提升服務(wù)器的運(yùn)行效率。其次,開(kāi)發(fā)實(shí)現(xiàn)的增量采集功能,可以面向主流類型網(wǎng)站實(shí)現(xiàn)更新網(wǎng)頁(yè)的識(shí)別、采集,增量采集實(shí)現(xiàn)內(nèi)容不重復(fù)、不遺漏。最后,開(kāi)發(fā)實(shí)現(xiàn)的增量采集功能,可以支持多任務(wù)、高并發(fā)的采集任務(wù)安排,對(duì)不同的采集任務(wù)可以較為靈活地配置采集參數(shù)。
3.3.1 索引頁(yè)更新識(shí)別
當(dāng)前互聯(lián)網(wǎng)上大多數(shù)網(wǎng)站提供的均是索引型網(wǎng)頁(yè),即網(wǎng)頁(yè)展示內(nèi)容不是由頁(yè)面直接提供,而是通過(guò)程序生成鏈接進(jìn)而將網(wǎng)頁(yè)內(nèi)容呈現(xiàn)出來(lái)。國(guó)家圖書(shū)館在實(shí)現(xiàn)網(wǎng)站采集時(shí),首先抓取網(wǎng)站的索引頁(yè)作為該網(wǎng)站的種子鏈接,將網(wǎng)站首頁(yè)索引頁(yè)以及網(wǎng)站各版面索引頁(yè)一同形成該網(wǎng)站的原始種子列表。后續(xù)在實(shí)現(xiàn)增量采集時(shí),根據(jù)種子列表進(jìn)行判斷,將所有發(fā)生變化的鏈接均加入任務(wù)隊(duì)列,最終通過(guò)任務(wù)隊(duì)列進(jìn)行全部采集和保存。
3.3.2 索引頁(yè)鏈接更新識(shí)別
制定程序建立了數(shù)據(jù)庫(kù)管理和記錄比對(duì)所有的索引頁(yè)中的鏈接數(shù)據(jù),判斷并產(chǎn)生更新種子鏈接列表。數(shù)據(jù)庫(kù)中的每一個(gè)鏈接數(shù)據(jù)以時(shí)間戳記錄、ID順序記錄、無(wú)規(guī)律的記錄3種規(guī)則來(lái)識(shí)別該鏈接的唯一性。時(shí)間戳記錄和ID順序記錄規(guī)則可以以上一次采集周期結(jié)束為標(biāo)記判斷是否有更新的鏈接;無(wú)規(guī)律的記錄規(guī)則以壓縮后的URI字節(jié)數(shù)/組作為Key值,比對(duì)Key值取得發(fā)生更新的URI。
3.3.3 頁(yè)面內(nèi)容相似性識(shí)別
制定程序通過(guò)建立閾值識(shí)別方法,來(lái)準(zhǔn)確識(shí)別網(wǎng)頁(yè)內(nèi)容的更新。針對(duì)網(wǎng)頁(yè)內(nèi)容,通過(guò)過(guò)濾網(wǎng)頁(yè)的干擾并提取該網(wǎng)頁(yè)內(nèi)容的主題詞,設(shè)定該頁(yè)面的更新閾值,后續(xù)可以對(duì)不同時(shí)刻的頁(yè)面內(nèi)容進(jìn)行比對(duì),一旦更新值超過(guò)閾值,就表示該頁(yè)面內(nèi)容出現(xiàn)了更新,需要進(jìn)行更新采集。
3.3.4 頁(yè)面變化頻率識(shí)別
所有網(wǎng)站的頁(yè)面更新,都是有其自身規(guī)律的。國(guó)家圖書(shū)館在目前階段將繼續(xù)沿用原有的采集策略,綜合考慮采集網(wǎng)站的數(shù)據(jù)量大小、更新時(shí)間等因素,人為設(shè)定網(wǎng)絡(luò)更新采集頻率。與此同時(shí),還將建立一個(gè)網(wǎng)站更新頻率數(shù)據(jù)庫(kù),詳細(xì)記錄網(wǎng)站數(shù)據(jù)量、更新頻率、更新量等,進(jìn)而為未來(lái)利用機(jī)器學(xué)習(xí)的方式自動(dòng)檢測(cè)網(wǎng)站更新頻率、自動(dòng)觸發(fā)增量采集打下基礎(chǔ)。
國(guó)際上廣泛應(yīng)用的網(wǎng)絡(luò)資源保存格式主要為WARC格式,為方便國(guó)際交流,國(guó)家圖書(shū)館十多年來(lái)一直采用WARC格式保存,增量采集選用WARCWriter Processorwen文件處理器。遵照增量采集設(shè)計(jì)策略,網(wǎng)站增量采集實(shí)現(xiàn)流程如圖2所示。
網(wǎng)站增量的完整過(guò)程是一個(gè)多次判斷、多次循環(huán)的過(guò)程。在網(wǎng)站采集任務(wù)開(kāi)始時(shí),首先將待保存網(wǎng)站所有頁(yè)面的索引頁(yè)的首頁(yè)作為種子鏈接,形成網(wǎng)站的種子列表。當(dāng)采集任務(wù)啟動(dòng)后,系統(tǒng)按照采集隊(duì)列中的種子列表,依次采集每一個(gè)鏈接,并根據(jù)鏈接地址字符識(shí)別采集頁(yè)面是索引頁(yè)還是內(nèi)容頁(yè)。如果是索引頁(yè),則根據(jù)定制的增量采集邏輯解析頁(yè)面中的目錄鏈接,過(guò)濾出更新鏈接加入采集隊(duì)列,進(jìn)行下一次循環(huán),直到采集隊(duì)列為空,該采集任務(wù)結(jié)束。如果是內(nèi)容頁(yè),則需按照采集內(nèi)容閾值設(shè)定進(jìn)行對(duì)比判斷,如為不相似內(nèi)容則觸發(fā)更新采集,如為相似內(nèi)容則不更新采集,依次循環(huán),直到采集隊(duì)列為空,任務(wù)結(jié)束。
在網(wǎng)絡(luò)資源采集任務(wù)管理上,定制程序?qū)τ谠隽坎杉c全站采集采用了不同的管理策略,對(duì)增量采集任務(wù)實(shí)施任務(wù)標(biāo)記,進(jìn)而明確區(qū)分增量采集與全站采集兩種不同的采集任務(wù)。Engine是Heritrix的主要爬蟲(chóng)功能模塊,通過(guò)Heritrix的CrawlJob創(chuàng)建一個(gè)常規(guī)的爬蟲(chóng)任務(wù)后,Heritrix會(huì)在系統(tǒng)目錄下創(chuàng)建任務(wù)文件。本定制程序?qū)崿F(xiàn)的增量采集以創(chuàng)建文件夾的形式,以上一次采集開(kāi)始為時(shí)間準(zhǔn)則,在任務(wù)清單中添加爬蟲(chóng)任務(wù)。增量采集任務(wù)的標(biāo)記放在任務(wù)啟動(dòng)開(kāi)始前,當(dāng)采集人員通過(guò)任務(wù)界面啟動(dòng)增量采集任務(wù)時(shí),系統(tǒng)會(huì)發(fā)送請(qǐng)求,根據(jù)jobName區(qū)分爬蟲(chóng)任務(wù),然后將對(duì)應(yīng)的爬蟲(chóng)任務(wù)啟動(dòng),同時(shí)調(diào)用Engine創(chuàng)建增量采集任務(wù)的接口,在增量采集過(guò)程中noteFrontierState會(huì)調(diào)用接口中jobState狀態(tài)。在增加采集過(guò)程中,定制程序?qū)崿F(xiàn)了索引頁(yè)識(shí)別、鏈接去重、頁(yè)面內(nèi)容過(guò)濾等功能。
(1)索引頁(yè)識(shí)別。索引頁(yè)的識(shí)別和采集主要通過(guò)Heritrix的頁(yè)面處理接口實(shí)現(xiàn),并可以根據(jù)鏈接字符區(qū)分索引頁(yè)和內(nèi)容頁(yè)進(jìn)行處理。定制程序?qū)崿F(xiàn)了html格式的網(wǎng)站索引頁(yè)的處理,利用Java自帶包解析html,導(dǎo)入Java包javax.swing.text.*和javax.swing.text.html.*,利用Heritrix的org.archive.modules.extractor包進(jìn)行定制。
(2)鏈接去重。定制程序通過(guò)Heritrix中的org.archive.crawler.datamodel.CrawlURI類實(shí)現(xiàn)網(wǎng)頁(yè)鏈接去重,將采集任務(wù)處理的變量以及URI相關(guān)的數(shù)據(jù)全部封裝在CrawlURI中。CrawlURI將頁(yè)面中解析出的新鏈接放到outLinks中,在CandidatesProcessor執(zhí)行DecideRuleSequence對(duì)Link進(jìn)行過(guò)濾,將符合要求的鏈接持續(xù)加入Frontier,進(jìn)而執(zhí)行采集循環(huán)。
(3)頁(yè)面內(nèi)容過(guò)濾。增量采集執(zhí)行的程序以原始網(wǎng)頁(yè)源碼中或者 國(guó)家圖書(shū)館用增量采集的方式實(shí)驗(yàn)性地采集了包括文化和旅游部、中國(guó)政府網(wǎng)、外交部、教育部等政府門戶類網(wǎng)站,人民網(wǎng)、新華網(wǎng)等新聞?lì)惥W(wǎng)站,北京北圖文化發(fā)展中心、國(guó)家圖書(shū)館等文化服務(wù)類網(wǎng)站。以中國(guó)政府網(wǎng)(https://www.gov.cn/)以及文化和旅游部網(wǎng)站(https://www.mct.gov.cn/)為例,由于網(wǎng)站自有策略、國(guó)家圖書(shū)館網(wǎng)絡(luò)帶寬流量控制策略和館網(wǎng)用網(wǎng)高峰流量控制等因素限制,因此,單位時(shí)間的采集數(shù)據(jù)量不同,不同網(wǎng)站單位時(shí)間采集數(shù)據(jù)量不能同向比較。 中國(guó)政府網(wǎng)采集深度參數(shù)設(shè)置為3層,為保證數(shù)據(jù)的時(shí)新性,以季度為采集頻率周期進(jìn)行全站采集,第一次全站采集數(shù)據(jù)量達(dá)6?144MB,采集時(shí)長(zhǎng)47小時(shí),采集HTML數(shù)量達(dá)7?436頁(yè);第二次全站采集數(shù)據(jù)量為7?356MB,采集時(shí)長(zhǎng)60小時(shí),采集HTML數(shù)量達(dá)8?082頁(yè);但是,采用增量采集策略后(增量采集在第一次全站采集基礎(chǔ)上進(jìn)行),數(shù)據(jù)量為455MB,采集時(shí)長(zhǎng)為8小時(shí),采集HTML數(shù)量1?820頁(yè),采集時(shí)長(zhǎng)縮短83%,存儲(chǔ)節(jié)約93%。 文化和旅游部網(wǎng)站采集深度參數(shù)設(shè)置為2層,第一次全站采集數(shù)據(jù)量達(dá)514MB,采集時(shí)長(zhǎng)14小時(shí),采集HTML數(shù)量達(dá)1?971頁(yè);第二次全站采集數(shù)據(jù)量達(dá)638MB,采集時(shí)長(zhǎng)25小時(shí),采集HTML數(shù)量達(dá)2?488頁(yè);但第二次采用增量采集策略后,數(shù)據(jù)量為53.5MB,采集時(shí)長(zhǎng)4小時(shí),采集HTML數(shù)量194頁(yè),采集時(shí)長(zhǎng)縮短71%,存儲(chǔ)節(jié)約90%。 從上面的對(duì)比數(shù)據(jù)可以很明顯地看出,使用同一采集策略和方式,不同的采集深度,網(wǎng)站的采集數(shù)據(jù)量和時(shí)長(zhǎng)均不同。雖然采集網(wǎng)站深度為2層所采集的數(shù)據(jù)量相較于3層深度數(shù)據(jù)量驟降,但是2層深度不能很好地保證存檔網(wǎng)站的原貌,因此在實(shí)際工作中,國(guó)家圖書(shū)館的網(wǎng)站保存多采用3~5層深度。在采用WEB網(wǎng)站全站采集方式時(shí),由于全站采集獲得的數(shù)據(jù)大部分為重復(fù)性數(shù)據(jù),進(jìn)而導(dǎo)致前后兩次全站采集的數(shù)據(jù)量相近。因此,如果長(zhǎng)期多次采用WEB網(wǎng)站全站采集的方式,會(huì)給存儲(chǔ)帶來(lái)相當(dāng)大的壓力,并且采集工作會(huì)長(zhǎng)期占用網(wǎng)絡(luò)帶寬資源。與之形成較為明顯的對(duì)比,則為WEB網(wǎng)站增量采集方式,這種采集模式會(huì)大大減少網(wǎng)絡(luò)資源存檔量、較為顯著地縮短采集時(shí)間,其采集效率比整站采集明顯提升,不僅保證了采集保存的網(wǎng)站數(shù)據(jù)的時(shí)新性,而且采集服務(wù)器存儲(chǔ)占用驟降,有效地解決了全站采集帶來(lái)的存儲(chǔ)不夠和帶寬限制的問(wèn)題,明顯地提高了工作效率。 國(guó)家圖書(shū)館基于Heritrix 3.4實(shí)現(xiàn)了網(wǎng)頁(yè)增量采集和數(shù)據(jù)管理,可以針對(duì)靜態(tài)索引類型的網(wǎng)站實(shí)現(xiàn)規(guī)模性的網(wǎng)站增量采集,保證資源內(nèi)容時(shí)新性的同時(shí),極大地緩解了存儲(chǔ)空間的壓力和網(wǎng)絡(luò)帶寬的負(fù)擔(dān)。國(guó)家圖書(shū)館還將繼續(xù)完善增量采集的方法,如利用機(jī)器學(xué)習(xí)方法進(jìn)行網(wǎng)頁(yè)更新頻率管理,增加針對(duì)多種類型相匹配的增量采集程序,將增量采集程序包裝成獨(dú)立的軟件包進(jìn)而可以分享給其他機(jī)構(gòu)進(jìn)行增量采集操作;同時(shí),根據(jù)時(shí)代網(wǎng)絡(luò)資源的特點(diǎn),針對(duì)更豐富的資源類型進(jìn)行采集方法的探究,如移動(dòng)端資源的采集研究等,以期為業(yè)界提供參考和借鑒。 [1] 張煒,張文靜. 中國(guó)網(wǎng)絡(luò)信息采集工作研究現(xiàn)狀分析[J]. 圖書(shū)館建設(shè),2008(7):43-51. [2] CHO J,GARCIA-MOLINA H. The evolution of the web and implications for an incremental crawl[C]//In Proceedings of the 26th International Conference on Very Large Database, Cairo:2000. [3] 楊頌,歐陽(yáng)柳波. 基于Heritrix的面向電子商務(wù)網(wǎng)站的增量爬蟲(chóng)研究[J]. 軟件導(dǎo)刊,2010,9(7):38-39. [4] Managing duplicates in a web archive[EB/OL].[2020-11-16]. https://www.docin.com/p-1406798808.html. [5] Internet Archive’s Terms of Use,Privacy Policy,and Copyright Policy[EB/OL].[2020-08-01]. https://archive.org/about/terms.php. [6] For Researchers[EB/OL].[2020-11-16]. https://www.loc.gov/programs/web-archiving/about-this-program/. [7] 徐健. 英國(guó)網(wǎng)絡(luò)信息保存聯(lián)盟計(jì)劃(UKWAC)及其啟示[J]. 圖書(shū)館論壇,2007(2):81-84 [8] About Pandora[EB/OL].[2020-11-16]. http://pandora.nla.gov.au/about.html. [9] 張妍,程瑾,劉雪濤,等. 日本國(guó)立國(guó)會(huì)圖書(shū)館網(wǎng)絡(luò)資源收集保存事業(yè)(WARP)及其啟示[J]. 中華醫(yī)學(xué)圖書(shū)情報(bào)雜志,2017(12):41-45. [10] 林屹,李軍英,熊麗,等. 北京高校圖書(shū)館網(wǎng)絡(luò)“教學(xué)科研數(shù)字圖書(shū)館”研究項(xiàng)目信息采集與整合的解決方案[J]. 現(xiàn)代圖書(shū)情報(bào)技術(shù),2003(5):86-88. [11] 吳振新,謝靖,張智雄,等. 國(guó)際重要科研機(jī)構(gòu)網(wǎng)絡(luò)信息采集與存檔管理平臺(tái)構(gòu)建[J]. 圖書(shū)情報(bào)工作,2014(11):100-104. [12] IIPC[EB/OL].[2020-11-05]. http://netpreserve.org/. [13] 李春旺. Web信息主題采集技術(shù)研究[J]. 圖書(shū)情報(bào)工作,2005(4):77-80. [14] 金岳富,范劍英,馮揚(yáng). 分布式Web信息采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 哈爾濱理工大學(xué)學(xué)報(bào),2010(2):116-123. [15] 吳麗輝,王斌,張剛. 一個(gè)個(gè)性化的Web信息采集模型[J]. 計(jì)算機(jī)工程,2005(11):86-88. [16] 王征清,成全. 基于Multi-Agent的分布式主題信息采集結(jié)構(gòu)模式研究[J]. 情報(bào)理論與實(shí)踐,2007(3):419-422. [17] 王忠,程磊. 基于元搜索引擎的個(gè)性化Web信息采集[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2009(13):3117-3119. [18] Heritrix[EB/OL].[2020-11-16]. https://Webarchive.jira.com/wiki/display/Heritrix/Heritrix. [19] ISO 28500:2009(en)Information and documentation—WARC file format[EB/OL].[2020-11-16]. https://www.iso.org/obp/ui/#iso:std:iso:28500:ed-1:v1:en. Design and Implementation on the Web Data Deduplicated Crawlers of the National Library of China JI ShiYan ZHAO DanYang ( National Library of China, Beijing 100081, China ) This paper introduces the current situation of web archiving technology strategy in detail, and designs the deduplicated crawlers technology strategy based on the actual practices of web archiving in the National Library of China. It describes the realization method of duplicated crawlers based on heritrix 3.4, so as to provide useful reference for the industry. National Library of China; Duplicated Crawlers; Heritrix G255 10.3772/j.issn.1673-2286.2021.01.005 季士妍,趙丹陽(yáng). 國(guó)家圖書(shū)館WEB數(shù)據(jù)增量采集設(shè)計(jì)及其實(shí)現(xiàn)[J]. 數(shù)字圖書(shū)館論壇,2021(1):32-37. 季士妍,女,1978年生,碩士,副研究館員,研究方向:數(shù)字資源保存和服務(wù)、數(shù)字圖書(shū)館資源整合,E-mail:jisy@nlc.cn。 趙丹陽(yáng),女,1988年生,碩士,館員,研究方向:數(shù)字資源保存和服務(wù)、數(shù)字圖書(shū)館資源整合,E-mail:zhaody@nlc.cn。 (收稿日期:2020-12-12)
或者標(biāo)簽中間的內(nèi)容為增量網(wǎng)頁(yè)采集的目標(biāo)內(nèi)容數(shù)據(jù),程序通過(guò)MD算法對(duì)目標(biāo)數(shù)據(jù)內(nèi)容進(jìn)行信息摘要,生成一個(gè)128bit的定長(zhǎng)字符串保存到數(shù)據(jù)庫(kù)中。當(dāng)實(shí)施增量采集時(shí),程序只需要比對(duì)待采集的網(wǎng)頁(yè)與數(shù)據(jù)庫(kù)中記錄的MD編碼值是否一致即可,如果MD編碼值不一致,表示產(chǎn)生了頁(yè)面內(nèi)容的改變,則觸發(fā)增量采集任務(wù)的啟動(dòng)。5 國(guó)家圖書(shū)館增量采集示范
6 結(jié)語(yǔ)與展望