利用文獻管理軟體抓取書目資料──Z39.50協定

文獻管理是理想筆記的重要環節。由於筆記中通常只會記錄自己消化過後的概念,因此有必要另外將資料的來源統一編列一處,以供未來多次引用、調閱。彙整過後的目錄就是俗稱的書目,儘管資料來源並不一定是圖書。管理文獻書目想必是一件麻煩事,以至於市面上能夠找到的文獻管理軟體有一大堆;稍微搜尋一下,你會找到各種針對研究生的推薦、教學文章和影片。

在這裡我無意也無法推薦任何軟體,顯然使用需求和環境不同,選用的書目管理軟體就會不同。如果學校或是熟悉的圖書館都基於某軟體提供服務,那麼使用那個軟體可能會讓你的研究生活容易一些。我不是學生,也不是學者,充其量只是個學習者;我的需求就是單純的文獻管理,還要能輸出自訂的引文格式,最後採納了Zettelkasten部落格的建議,選擇使用BibDesk

不論選擇了哪個軟體,最終目的都只是記錄書目資料。最直覺的記錄方法就是在軟體內建立一個新的空白條目,取書在手,一面翻找一面輸入所需資訊。在凡事講求自動化的現代,動手輸入似乎顯得過時,但當然沒有必要排斥這種做法,就算只是單純的翻找和輸入,還是有助於認識那本書。

不過,有時候還是會想加速這道程序,例如你的閱讀常規本來就包含記錄基本資訊,那就沒有必要輸入兩次,這時圖書館的資料庫就幫得上忙。有些圖書館網站會為不同的文獻管理軟體提供各種檔案格式,下載之後再匯入檔案便完成記錄。有的書目軟體還提供網路瀏覽器的插件,當插件偵測到可供記錄的格式時,用戶只要點一下就能匯入資料。

還有一種在文獻管理軟體中搜尋,然後直接從圖書館資料庫下載書目資料的方法──透過Z39.50協定。

圖書館常用協定:Z39.50

Z39.50協定始於1970年代,1988年推出第一版,是全球資訊網存在之前就有的技術,後來經過更新,可以在現代系統環境中使用。基於Z39.50,後續也推出了改用HTTP的協定,名為SRU(Search / Retrieve via URL),搜尋結果以XML回傳。

儘管命名像秘密代碼似的,這個協定的目的倒是相當單純:在遠端資料庫中搜尋,然後取得資料;也就是專為圖書館設計的資料庫系統。幕後負責維護協定的是美國國會圖書館,至今雖然已經快要變成數位文化遺產了,但由於它通常會整合在圖書館系統和個人書目軟體中,幸運的話可以從時代的眼淚中嚐到一點甜味。

哪裡找Z39.50的書目資料庫?

畢竟是早於全球資訊網的技術,以至於在網上的相關資源十分匱乏,在中文環境裡尤其如此,能找到都是些論文、報告,面向使用者的說明完全沒有。就算在西方語境之下,也看得出基於Z39.50的服務很多都已經停用,主要的用途在於圖書館間的互連,可見此協定已經處於半荒廢狀態。儘管如此,我還是找到一些素人也可以用的資源:

  • The Z39.50 Target Directory

    目前找到最好用的目錄,可根據國家╱地區搜尋圖書館,甚至會顯示伺服器主機是否還能連線。由私人公司Index Data維護,該公司主要業務似乎是圖書管系統。我在這個目錄搜尋台灣的資料庫,竟然找到六個結果,其中有四個還能用。

  • zbrary

    依字母順序排列的目錄,由Jeffery Jackson編制。

  • Z39.50 Hosts Available for Testing

    由美國國會圖書館彙整的目錄。

網上最大的書籍資料庫WorldCat其實也提供了Z39.50接口,叫作FirstSearch,不過似乎只供他們目錄的訂戶使用,至少當我帳號密碼留白時連接不上。

使用Z39.50資料庫

從上面列出的目錄中,我找到了全國圖書書目資訊網提供的資料庫,由國家圖書館負責維護,推測在台灣出版的書目資料應該都搜尋得到,試用了之後,確實不錯。

連接Z39.50資料庫時,必須輸入主機網域、連接埠號、資料庫名,才能順利連上線。讀取資料方面,則需要選擇資料語法和編碼。以下是參考設定:

  • 資料庫 Database:INNOPAC
  • 網域位置 Address:nbinet3.ncl.edu.tw
  • 連接埠號 Port:210
  • 資料語法 Syntax:MARC 21(猜測)
  • 編碼 Encoding:utf-8
圖說:BibDesk的Z39.50設定範例。
圖說:BibDesk的Z39.50設定範例。

我用BibDesk建立了一個搜尋群組(Search Group),找到想要的書目之後,就可以直接點擊匯入了。

圖說:利用BibDesk取得全國圖書書目資訊網的書目資料。
圖說:利用BibDesk取得全國圖書書目資訊網的書目資料。