網址改寫(其一)

2006 年 十一月 1 日 (星期三) 11:26 pm
分類:電腦

由於研究需要及個人休閒興趣,需要定期蒐集追蹤公開情報,因此我早在 2000 年就寫了簡單的新聞網站 crawler 系統供自己使用,順便累積些特定的語料庫給自己和朋友跑實驗數據。當年並沒有所謂的 RSS,許多地方都得用很暴力、很 dirty 的 screen scraping 技巧才能辦到(我就是從那時候開始愛上了 Perl 語言)。此外,由於個人的收藏癖及教學需要,我也會將值得留存的網頁轉換成 PDF 檔方便註記,並在 PDF 的 metadata 區詳註原始網址,以供日後徵引之用。

從這些過程中,我發現某些網站很古怪,缺少 permanent link 觀念,今天看到的網址,常常沒過幾天就失效了。這種「朝菌不知晦朔,蟪蛄不知春秋」的短命現象,有損資料徵引的持久性。

就以聯合新聞網為例,當你在首頁點選了某一則新聞,興沖沖地將它加入 Firefox 的書籤或 IE 的我的最愛,想改天再來細看。假設這則新聞的網址是:

  • http://udn.com/NEWS/LIFE/X3/3582647.shtml

可是等到幾天後你再去點選這個網址,你會發現這網址失效了。我是在寫 crawler 時,很偶然的情況下,發現上述網址若改寫成以下這種形式:

  • [形式一] http://www.udn.com/2006/11/1/NEWS/LIFE/X3/3582647.shtml

就比較不會有過幾天就失效的情況發生。

這種 pattern 我已經使用很久了。雖然一兩年前的舊文章,未必每次都還能夠順利存取到,但重要的文章,我不會拖到那麼久還不去留存成 PDF。對我來說,這樣的效果已經夠用了。

下午和實驗室學弟聊到這現象時,他提出另一個改寫的形式:

  • [形式二] http://udn.com/NASApp/NewsLetter/NewsPreview?NewsID=3582647

不過根據我初步的實驗,第一種形式比較持久,第二種形式雖然多半都會自動轉址到第一種形式(尤其是當天的新聞),但有時候(尤其是以前的新聞)反而會轉址到 http://udn.com/http://mag.udn.com/ 或者怪怪的地方,甚至出現錯誤。但我也遇見某些情況是第一種形式行不通、只有第二種形式可行──這簡直太 nondeterministic 了。

我建議有此需求的人,多試試各種例子,找出更持久的形式。

為了自己方便,我也將這「網址改寫」功能做成 bookmarklet,有興趣的人不妨試試。目前對於 screen scraping 部份還未臻完善,所以只定位在 beta 版。 :-)

TODO list:

  • More robust screen scraping.
  • Multiple approaches for the same (weird!) website.
  • DOI-awareness in digital libraries (e.g., ACM, IEEE).
  • Session-id removal (e.g., Amazon, Mobile01).

後續發展


◤您也可以閱讀以下文章:


5 項留言回應 給 “網址改寫(其一)”

  1. 1 Lu, Jye 留言:

    沒有人一定得幫別人做事,
    維護 “資料徵引的持久性” 並不是所有網站的責任,
    甚至不太歡迎這種不是很禮貌的連結.
    這並不是網站設計方式古怪,
    而是用戶使用心態… 呃… 奇特吧.

    以您舉出之聯合新聞網為例,
    該網站有另外須付費的聯合知識庫,
    裡頭有剪報功能,
    我覺得這才是該網站希望的長久使用方式.

    參考連結:
    http://udndata.com/

  2. 2 william 留言:

    首先必須釐清:「資料徵引的持久性」不必然意味著必須「讓不特定民眾無償取得原始資料全文」,我文中並未批評或主張這一點;我所著重的乃是另一個層面:資料源是否「重視 permalink 理念」。這種「留下徵引線索」的觀念,在古代見諸於嚴謹的文獻出處敘述(如 ChicagoMLAAPA 等系統)或者 ISBNISSN 等代碼系統,在 Web 時代則見諸於 URNPURLDOI 等 permalink 技術規範。

    ACMIEEEElsevierSpringer 等學術團體及出版商的數位圖書館,儘管只有合法授權者才可下載文獻的 PDF 全文,但這些網站並未剝奪一般民眾(或許只是過客)透過 permalink 徵引到該文獻 metadata 的權益。許多時候,我們要的就只有這份 metadata 而已。

    以聯合新聞網為例,很明顯的,該文獻的「內容」本體的確仍然置於公眾網路上(而且是透過簡單的 crawler 就可觸及),只不過賴以存取的「link」有問題。這不是 content policy 的問題,而是軟體實作技術問題。身為國內報業及文獻數位化的龍頭,沒有體認到這一點,進而做泱泱媒體之表率,個人認為十分可惜。尤其當我看到內容數位化技術較落後的某新聞網站,居然讓你在 2006 年 11 月的今天仍可順利連結到 2003 年 1 月 1 日關於限用塑膠袋的文章,心中感觸非筆墨所能道盡。

  3. 3 Lu, Jye 留言:

    我尊重您的觀點,
    我也尊重但不喜歡 UDN 的 content publish policy.

  4. 4 老貓學出版 引用:

    連結吸子:人氣部落格不傳之祕…

    如何製造連結吸子呢?以下是幾個經典範例,裡面充滿了創意,奇思妙想,即使是單純欣賞你也會覺得非常有趣(這裡再澄清一下,大部分人製作連結吸子,不是為了衝流量,有的為了搞笑,有的為了抒發,這裡的觀察不是探討目的,而是描述「效果」) [...]

  5. 5 沒新聞聯合台 » Blog Archive » NuWeb 私觀點 引用:

    [...] 例如個人感到最有趣的「使用者名稱代表網址」,概念上有一點點像 tinyurl,只需要使用者名稱的好處是網址可讀又容易記憶,但是不曉得使用者要怎麼實現狡兔有三窟 ( seamxr1, 2, 3? )。附帶一提,個人比較大的負擔倒是有趣文章的超長網址、三天後就看不到的新聞等,幸好有本地書籤和 Delicious 之類的解法。 [...]

留言回應

[檢核碼]  


Allowed XHTML tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

本站已啟用 spam 防護機制。為避免系統誤判,請在按下按鈕之前,先備份您的留言,以防不測。如果您一直無法順利留言,請改用 email 方式。
此外,如果您想留的言與本篇文章及討論串無關,也請轉而點選這裡。謝謝您!