摘 要:隨著數(shù)字圖書館的發(fā)展,數(shù)字資源逐漸成為高校圖書館館藏不可缺少的一部分。元數(shù)據(jù)一直是圖書館實(shí)現(xiàn)文獻(xiàn)有序化的主要工具。在數(shù)字圖書館的建設(shè)中,元數(shù)據(jù)也同樣起到重要的作用。傳統(tǒng)的元數(shù)據(jù)提取方法通常采用手工錄入或者復(fù)制粘貼的方法,效率低下,費(fèi)時(shí)費(fèi)工,錯(cuò)誤率高。文章探討利用八爪魚網(wǎng)絡(luò)爬蟲技術(shù)自動(dòng)采集元數(shù)據(jù)的方法,該方法可提高元數(shù)據(jù)的提取效率,并且具有較強(qiáng)的適應(yīng)性。數(shù)字資源元數(shù)據(jù)的建設(shè)對(duì)于圖書館來(lái)說(shuō),還是一個(gè)需要不斷研究、不斷實(shí)踐、不斷發(fā)展的新興領(lǐng)域。如何基于高校圖書館數(shù)字資源元數(shù)據(jù)的特點(diǎn),實(shí)現(xiàn)元數(shù)據(jù)的自動(dòng)采集是本文研究的重點(diǎn)。
關(guān)鍵詞:八爪魚;網(wǎng)絡(luò)爬蟲;元數(shù)據(jù);高校圖書館
中圖分類號(hào):TP391.1;G250.73 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2019)04-0004-03
Acquisition of Metadata Efficiently by Using Octopus Web Crawler Technology in
University Libraries
ZHANG Zhiyong
(Guangdong Peizheng College,Guangzhou 510830,China)
Abstract:With the development of digital libraries,digital resources have gradually become an indispenSable part of the collection of university libraries. Metadata has always been the main tool for library to achieve document ordering. Metadata also plays an important role in the construction of digital libraries. Traditional methods of metadata extraction usually use manual input or copy and paste method,which is inefficient,time-consuming,labor-consuming and high error rate. This paper discusses the method of automatically collecting metadata using octopus web crawler technology. This method can improve the efficiency of metadata extraction and has strong adaptability. For libraries,the construction of digital resource metadata is still a new field that needs to be studied,practiced and developed continuously. How to realize the automatic collection of metadata based on the characteristics of digital resources metadata in university libraries is the focus of this paper.
Keywords:octopus;web crawler;metadata;university library
1 元數(shù)據(jù)概述
在圖書館與信息界,元數(shù)據(jù)被定義為:提供關(guān)于信息資源或數(shù)據(jù)的一種結(jié)構(gòu)化的數(shù)據(jù),是對(duì)信息資源的結(jié)構(gòu)化的描述;其作用為:描述信息資源或數(shù)據(jù)本身的特征和屬性,規(guī)定數(shù)字化信息的組織,具有定位、發(fā)現(xiàn)、證明、評(píng)估、選擇等功能。元數(shù)據(jù)具有傳統(tǒng)目錄的“著錄”功能,目的在于使信息資源的管理維護(hù)者及使用者可通過(guò)元數(shù)據(jù)了解并辨別資源,進(jìn)而管理和利用資源,為形式管理轉(zhuǎn)向內(nèi)容管理奠定必要的基礎(chǔ)。[1]
2 高校圖書館數(shù)字資源元數(shù)據(jù)建設(shè)的特點(diǎn)
與圖書館傳統(tǒng)編目工作相比,數(shù)字資源元數(shù)據(jù)的建設(shè)有其自身的特點(diǎn)。因此,對(duì)數(shù)字資源進(jìn)行編目不能如傳統(tǒng)編目工作那樣完全依賴圖書館館員,而需要結(jié)合自動(dòng)編目方法。自動(dòng)編目可以極大地節(jié)省人力,提高元數(shù)據(jù)制作的速度,但是,數(shù)字資源,尤其是網(wǎng)絡(luò)信息資源的自由性、不規(guī)范性、非結(jié)構(gòu)化特點(diǎn)會(huì)影響元數(shù)據(jù)的質(zhì)量,因此,數(shù)字資源元數(shù)據(jù)的建設(shè)應(yīng)加強(qiáng)對(duì)信息自動(dòng)處理技術(shù)的研究,充分利用受控詞表、本體等知識(shí)組織工具提高對(duì)文本進(jìn)行自動(dòng)處理的準(zhǔn)確性。
多年來(lái),圖書館的編目工作一直以手頭文獻(xiàn)為著錄對(duì)象,而數(shù)字文獻(xiàn)由于有了數(shù)字文本,就有了對(duì)信息資源的內(nèi)容乃至知識(shí)點(diǎn)進(jìn)行挖掘與組織的可能。因此,數(shù)字資源元數(shù)據(jù)除了可以以文獻(xiàn)為著錄對(duì)象外,還應(yīng)進(jìn)一步以作品為著錄對(duì)象,擺脫文獻(xiàn)由物理形態(tài)帶來(lái)的限制,圍繞作品整合資源,最終實(shí)現(xiàn)整合知識(shí),建立多層次的關(guān)聯(lián)關(guān)系,為用戶提供準(zhǔn)確高效的知識(shí)導(dǎo)航。
網(wǎng)絡(luò)信息資源與圖書館傳統(tǒng)館藏有著很大的區(qū)別,因此,建設(shè)網(wǎng)絡(luò)信息資源元數(shù)據(jù)應(yīng)首先研究制訂適用于網(wǎng)絡(luò)信息資源的元數(shù)據(jù)標(biāo)準(zhǔn)體系,標(biāo)準(zhǔn)的制定既要關(guān)注網(wǎng)絡(luò)信息資源的特點(diǎn),又要與通用的元數(shù)據(jù)標(biāo)準(zhǔn)保持相對(duì)的一致,以保證標(biāo)準(zhǔn)具有開(kāi)放性,能通過(guò)互操作實(shí)現(xiàn)信息資源的共建共享。
數(shù)字資源具有多種來(lái)源、多種媒體類型,因此,對(duì)數(shù)字資源元數(shù)據(jù)的利用中很重要的一個(gè)環(huán)節(jié)是整合不同來(lái)源、不同類型的元數(shù)據(jù),揭示其中的關(guān)聯(lián)關(guān)系,使用戶可以一站式獲取所需資源。
圖書館應(yīng)根據(jù)其館藏情況、系統(tǒng)建設(shè)的特點(diǎn)來(lái)考慮數(shù)字資源元數(shù)據(jù)的采集方式。第一種是基于OPAC,以紙本文獻(xiàn)的書目數(shù)據(jù)為核心,整合相關(guān)數(shù)字資源元數(shù)據(jù),這種方式適用于數(shù)字資源建設(shè)初期,本館館藏仍然以書目數(shù)據(jù)為主的情況;另一種方式是構(gòu)建元數(shù)據(jù)倉(cāng)儲(chǔ),整合各種類型、各種來(lái)源的元數(shù)據(jù),實(shí)現(xiàn)一體化的元數(shù)據(jù)服務(wù),這種方式適用于建設(shè)了大量不同來(lái)源、不同格式的數(shù)字資源元數(shù)據(jù)的情況。
3 元數(shù)據(jù)自動(dòng)提取功能的實(shí)現(xiàn)
元數(shù)據(jù)的采集有多種方法。第一種方法是逐個(gè)文件人工提?。坏诙N方法是借助軟件公司來(lái)實(shí)現(xiàn)數(shù)據(jù)的提取和上傳;第三種方法是根據(jù)自身的情況研發(fā)軟件或使用已有的軟件,實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)提取。大多數(shù)有采集需求的單位,都不想自己手工復(fù)制粘貼數(shù)據(jù),因?yàn)檫@樣費(fèi)時(shí)費(fèi)力,效率不高,錯(cuò)誤率高,而外包給軟件公司雖然解決了效率和錯(cuò)誤率問(wèn)題,但是費(fèi)用高昂。那如何才能簡(jiǎn)單高效低費(fèi)率地采集目標(biāo)網(wǎng)站的元數(shù)據(jù)呢?其中最常用的手段就是使用網(wǎng)絡(luò)爬蟲工具去獲取。[2]
3.1 網(wǎng)絡(luò)爬蟲及八爪魚采集系統(tǒng)介紹
網(wǎng)絡(luò)爬蟲是一種按照一定的規(guī)則,自動(dòng)地抓取萬(wàn)維網(wǎng)信息的程序或者腳本,[3]又稱為網(wǎng)頁(yè)蜘蛛,網(wǎng)絡(luò)機(jī)器人?;ヂ?lián)網(wǎng)中存在各種網(wǎng)頁(yè),每一個(gè)網(wǎng)頁(yè)都有其對(duì)應(yīng)的網(wǎng)址。通常,人們通過(guò)人工的方式從互聯(lián)網(wǎng)中獲取所需的信息,這種獲取信息的方式覆蓋面小,而且高度耗費(fèi)人力。網(wǎng)絡(luò)爬蟲解決了這一問(wèn)題,它可以從一個(gè)或者一組網(wǎng)址出發(fā),訪問(wèn)其關(guān)聯(lián)的所有網(wǎng)址,并且可以從每個(gè)網(wǎng)址對(duì)應(yīng)的頁(yè)面中提取所需要的、有價(jià)值的數(shù)據(jù)。[4]
八爪魚網(wǎng)頁(yè)采集器就是網(wǎng)絡(luò)爬蟲的一種。用戶可以設(shè)置從哪個(gè)網(wǎng)站爬取數(shù)據(jù),爬取哪些數(shù)據(jù),爬取什么范圍的數(shù)據(jù),什么時(shí)候去爬取數(shù)據(jù),爬取的數(shù)據(jù)如何保存等等。[5]
八爪魚采集系統(tǒng)是一款免費(fèi)網(wǎng)絡(luò)爬蟲軟件,系統(tǒng)采用分布式云構(gòu)架,聯(lián)合客戶要求,整個(gè)系統(tǒng)部署在騰訊云平臺(tái)之上。系統(tǒng)包含主程序、監(jiān)控程序、采集規(guī)則配置客戶端、分布式采集集群和存儲(chǔ)集群,如圖1所示。
主程序?qū)崿F(xiàn)任務(wù)負(fù)載均衡分發(fā),采集集群實(shí)現(xiàn)多類別、多站點(diǎn)同時(shí)并發(fā)采集,采用先進(jìn)高效的采集技術(shù),采集過(guò)程高效準(zhǔn)確。存儲(chǔ)集群可存儲(chǔ)半結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù),具有高容錯(cuò)性、高可用性。[6]
監(jiān)控程序提供一個(gè)“一站式”人機(jī)交互界面供系統(tǒng)管理人員使用。功能包括服務(wù)資源管理、節(jié)點(diǎn)資源管理、任務(wù)控制及監(jiān)視。
采集規(guī)則配置客戶端通過(guò)模擬人工網(wǎng)頁(yè)瀏覽操作,可視化制作采集規(guī)則流程,無(wú)須編寫代碼。采集規(guī)則配置數(shù)據(jù)存儲(chǔ)在一個(gè)配置數(shù)據(jù)庫(kù)中。實(shí)現(xiàn)對(duì)互聯(lián)網(wǎng)目標(biāo)信息源各類碎片化信息的實(shí)時(shí)采集。提供數(shù)據(jù)的導(dǎo)出接口,向外部系統(tǒng)提供數(shù)據(jù)導(dǎo)出功能,補(bǔ)充數(shù)據(jù)來(lái)源,如圖2所示。
實(shí)現(xiàn)7×24小時(shí)循環(huán)信息數(shù)據(jù)的采集、增量的信息采集,全網(wǎng)采集、定向采集、智能提取形式結(jié)合。
八爪魚采集原理是:通過(guò)大數(shù)據(jù)分析人瀏覽網(wǎng)頁(yè),復(fù)制數(shù)據(jù)的行為,通過(guò)記錄和模擬人的各種上網(wǎng)行為,利用自動(dòng)程序代替人瀏覽網(wǎng)頁(yè)和手工復(fù)制粘貼網(wǎng)頁(yè)數(shù)據(jù),從而實(shí)現(xiàn)自動(dòng)化采集目標(biāo)網(wǎng)頁(yè)數(shù)據(jù),并通過(guò)不斷重復(fù)一系列預(yù)設(shè)的動(dòng)作,實(shí)現(xiàn)全自動(dòng)采集數(shù)據(jù)。其客戶端程序用于配置及管理任務(wù)(包括云采集和定時(shí)云采集),數(shù)據(jù)導(dǎo)出程序負(fù)責(zé)導(dǎo)出數(shù)據(jù),支持Excel、SQL、TXT、MySQL等數(shù)據(jù)格式,支持一次導(dǎo)出百萬(wàn)級(jí)別數(shù)據(jù)。
本地采集程序負(fù)責(zé)根據(jù)工作流對(duì)網(wǎng)頁(yè)進(jìn)行打開(kāi)、抓取、采集數(shù)據(jù),通過(guò)正則表達(dá)式與XPath原理,快速獲取網(wǎng)頁(yè)元數(shù)據(jù)?;贔irefox內(nèi)核瀏覽器的采集流程,通過(guò)模擬人工操作模式實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)數(shù)據(jù)的全自動(dòng)提取。通過(guò)精確定位網(wǎng)頁(yè)源碼中各個(gè)數(shù)據(jù)XPath路徑,八爪魚能夠批量精準(zhǔn)采集出用戶所需元數(shù)據(jù)。
3.2 八爪魚采集系統(tǒng)軟件的安裝與登錄
打開(kāi)八爪魚官網(wǎng)(http://www.bazhuayu.com/)下載最新版本,安裝到本地計(jì)算機(jī),軟件需要NET Framework 3.5 SP1支持,在安裝時(shí)軟件會(huì)自動(dòng)檢測(cè)是否安裝了NET Frame work 3.5 SP1,如果沒(méi)有安裝則自動(dòng)從微軟官方在線安裝。安裝完成后使用電子郵箱或者手機(jī)號(hào)碼免費(fèi)注冊(cè)賬戶并登錄。
3.3 采集目標(biāo)網(wǎng)站元數(shù)據(jù)的操作流程,以維普期刊導(dǎo)航數(shù)據(jù)為例創(chuàng)建數(shù)據(jù)采集流程
3.3.1 創(chuàng)建采集任務(wù)
(1)進(jìn)入主界面,點(diǎn)擊右側(cè)導(dǎo)航條“任務(wù)”按鈕,打開(kāi)任務(wù)界面,點(diǎn)擊“新建”下拉菜單,選擇“自定義采集”。
(2)輸入采集網(wǎng)址的方法有“手動(dòng)輸入、從文件導(dǎo)入、批量生成和從任務(wù)導(dǎo)入”四種,可以先把需要采集的目標(biāo)網(wǎng)址URL保存到一個(gè)文件中,再將目標(biāo)網(wǎng)址URL復(fù)制粘貼到網(wǎng)址輸入框中,注意輸入的網(wǎng)址不要超過(guò)1萬(wàn)條,這里我們選擇手動(dòng)輸入即可,點(diǎn)擊“保存網(wǎng)址”。
內(nèi)置瀏覽器會(huì)打開(kāi)網(wǎng)頁(yè),右邊的操作提示顯示“請(qǐng)選擇頁(yè)面元素”,點(diǎn)擊核心期刊導(dǎo)航中的折疊按鈕,在操作提示中點(diǎn)擊“點(diǎn)擊該元素”按鈕,網(wǎng)頁(yè)上的折疊區(qū)域打開(kāi),同時(shí)在流程圖中自動(dòng)添加“點(diǎn)擊元素”。
3.3.2 創(chuàng)建翻頁(yè)循環(huán)
若需要采集的元數(shù)據(jù)比較多,出現(xiàn)多頁(yè)分布情況,則需要?jiǎng)?chuàng)建翻頁(yè)循環(huán)。
(1)點(diǎn)擊其中一個(gè)期刊類別鏈接,打開(kāi)網(wǎng)頁(yè)之后,點(diǎn)擊右上角的按鈕,使制作的流程呈現(xiàn)可見(jiàn)狀態(tài)。點(diǎn)擊網(wǎng)頁(yè)下方的“下一頁(yè)”按鈕,選擇“循環(huán)點(diǎn)擊單個(gè)鏈接”,翻頁(yè)循環(huán)創(chuàng)建完成。可在左上角流程中手動(dòng)點(diǎn)擊“循環(huán)翻頁(yè)”和“點(diǎn)擊翻頁(yè)”幾次,測(cè)試是否正常翻頁(yè)。
(2)若加載詳情頁(yè)時(shí)加載速度很慢,網(wǎng)頁(yè)一直處于緩沖狀態(tài),無(wú)法立即執(zhí)行下一個(gè)步驟,可以在“循環(huán)翻頁(yè)”的高級(jí)選項(xiàng)里設(shè)置“Ajax加載數(shù)據(jù)”,超時(shí)時(shí)間設(shè)置為3-5秒,點(diǎn)擊“確定”按鈕,八爪魚在采集數(shù)據(jù)時(shí)將會(huì)等待3-5秒時(shí)間,讓瀏覽器加載網(wǎng)頁(yè)數(shù)據(jù),讓下一步驟得以順利執(zhí)行。
3.3.3 創(chuàng)建列表循環(huán)
若需要采集的元數(shù)據(jù)常常以表單格式分布在目標(biāo)頁(yè)面,則需要?jiǎng)?chuàng)建列表循環(huán)。
(1)用鼠標(biāo)右鍵點(diǎn)擊網(wǎng)頁(yè)上的“中國(guó)科技核心期刊”按鈕,可以看到自動(dòng)有紅色虛框框住鏈接按鈕,在操作提示中提示“已選中一個(gè)鏈接,同時(shí)發(fā)現(xiàn)34個(gè)同類鏈接,您可以”,點(diǎn)擊“選中全部”,操作提示框提示“已選中34個(gè)鏈接,以下是列表,您可以:采集以下鏈接文本、采集以下鏈接地址、采集以下元素innerHtml……循環(huán)點(diǎn)擊每個(gè)鏈接”。
(2)鼠標(biāo)點(diǎn)擊“循環(huán)點(diǎn)擊每個(gè)鏈接”按鈕,流程圖中自動(dòng)創(chuàng)建一個(gè)循環(huán)點(diǎn)擊元素的流程,對(duì)其他元素進(jìn)行同樣的操作,可以一一打開(kāi)不同深度的頁(yè)面。列表循環(huán)就創(chuàng)建完成,并進(jìn)入到第一個(gè)循環(huán)項(xiàng)的詳情頁(yè)面。若進(jìn)入詳情頁(yè)時(shí)一直在緩沖狀態(tài),無(wú)法執(zhí)行下一個(gè)步驟,可以在“點(diǎn)擊元素”的高級(jí)選項(xiàng)里設(shè)置“Ajax加載數(shù)據(jù)”,Ajax超時(shí)設(shè)置為3秒,點(diǎn)擊“確定”。
(3)數(shù)據(jù)提取,接下來(lái)采集具體字段,分別選中頁(yè)面中需要抓取的元數(shù)據(jù),點(diǎn)擊“采集該元素的文本”,可以在“配置抓取模版”中修改字段名稱。
若需要抓取的元數(shù)據(jù)占據(jù)多行,可以用鼠標(biāo)點(diǎn)擊其所在的位置,點(diǎn)擊“操作提示”框中的右下角圖標(biāo) ,擴(kuò)大選項(xiàng)范圍,直至包括全部正文內(nèi)容,選擇“采集該元素的文本”,修改字段名稱,數(shù)據(jù)提取完畢。
(4)若網(wǎng)頁(yè)加載速度非常慢,或者要避免訪問(wèn)頁(yè)面較快出現(xiàn)防采集問(wèn)題,可在流程各個(gè)步驟的高級(jí)選項(xiàng)里設(shè)置“執(zhí)行前等待”幾秒時(shí)間,設(shè)置后點(diǎn)擊“確定”。
3.3.4 數(shù)據(jù)采集及導(dǎo)出
(1)點(diǎn)擊左上角的“保存”按鈕,點(diǎn)擊“開(kāi)始采集”按鈕,彈出對(duì)話框中有“啟用本地采集、啟用云采集、設(shè)置定時(shí)云采集”三個(gè)選項(xiàng)。選擇“啟動(dòng)本地采集”,“啟用本地采集”用于測(cè)試流程是否正確,也用于免費(fèi)采集數(shù)據(jù)任務(wù),其它兩個(gè)選項(xiàng)為收費(fèi)項(xiàng)目。
(2)采集完成后,會(huì)跳出提示,選擇“導(dǎo)出數(shù)據(jù)”,選擇“合適的導(dǎo)出方式”,將采集好的數(shù)據(jù)導(dǎo)出,這里我們選擇Excel作為導(dǎo)出格式,保存文件,數(shù)據(jù)就導(dǎo)出來(lái)了。
4 結(jié) 論
通過(guò)利用八爪魚網(wǎng)絡(luò)爬蟲技術(shù)可提高高校圖書館元數(shù)據(jù)的采集效率,豐富數(shù)據(jù)來(lái)源,為讀者提供更豐富的數(shù)字資源。充分利用大數(shù)據(jù)技術(shù),采集互聯(lián)網(wǎng)及第三方的數(shù)據(jù)豐富圖書館特色數(shù)據(jù)庫(kù),建立一個(gè)先進(jìn)、高效、穩(wěn)定的第三方數(shù)據(jù)采集系統(tǒng),怎樣提高數(shù)據(jù)提取的效率,是圖書館信息技術(shù)部需要研究的重點(diǎn)內(nèi)容。技術(shù)人員只需借助八爪魚軟件,根據(jù)數(shù)字資源的情況設(shè)置一定的規(guī)則,對(duì)導(dǎo)出的數(shù)據(jù)稍做調(diào)整,就可以既省時(shí)又省力地完成對(duì)元數(shù)據(jù)的提取和上傳,并且規(guī)則設(shè)定之后可以重復(fù)使用,既克服了傳統(tǒng)手工采集時(shí)工作量大、容易出錯(cuò)的問(wèn)題,又極大地提高了后期數(shù)據(jù)提取的效率。[7]
但是,我們也要看到八爪魚等網(wǎng)絡(luò)爬蟲采集器的局限性:即這些爬蟲軟件只能爬取網(wǎng)頁(yè)上存在的電子元數(shù)據(jù),它們無(wú)法抓取紙本資料上的元數(shù)據(jù),如何高效獲取紙本資料元數(shù)據(jù)依然是一個(gè)值得每個(gè)圖書館人員思考的問(wèn)題。
參考文獻(xiàn):
[1] 蔡毅杰,駱兵.元數(shù)據(jù)在圖書館信息管理中的應(yīng)用 [J].科技信息,2014(5):144.
[2] 陳樂(lè).基于Python的網(wǎng)絡(luò)爬蟲技術(shù) [J].電子世界,2018(16):163+165.
[3] 劉宇,程學(xué)林.基于決策樹(shù)算法的爬蟲識(shí)別技術(shù) [J].軟件,2017,38(7):122-125.
[4] 毛逸恒.基于網(wǎng)絡(luò)爬蟲的網(wǎng)頁(yè)信息獲取技術(shù) [J].通訊世界,2018(6):11-12.
[5] 百度百科.網(wǎng)絡(luò)爬蟲 [EB/OL].https://baike.baidu.com/ item/%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB,2018-12-25.
[6] 八爪魚官網(wǎng).http://www.bazhuayu.com/.
[7] 崔玉潔,廖坤.借助八爪魚采集器實(shí)現(xiàn)過(guò)刊網(wǎng)刊元數(shù)據(jù)的自動(dòng)提取 [J].編輯學(xué)報(bào),2016,28(5):485-488.
作者簡(jiǎn)介:張志勇(1977.09-),男,漢族,廣東五華人,圖書館管理員,本科,研究方向:圖書館數(shù)字資源管理。