2009年9月28日

用perl抓科學發展月刊的pdf連結

科學發展月刊是國科會的科普雜誌,本來是刊登中文的學術論文的雜誌,不過自從91年1月開始就轉型成為綜合性的科普雜誌,裡頭的文章不會太難,而且都是國內的專家學者所寫,豐富的資料很值得給學生作為課程延伸閱讀。

不過每一篇都要點進各期再慢慢看,我就想是不是可以把文章連結全部都放到同一個頁面,那就可以一目瞭然了。

我的作法是先用firefox的套件DownThemAll,把這裡的每期html檔抓下來,一共有80多個html檔。然後再用perl寫一小段程式抓出每個pdf連結,配合Regular Expressions重新做一個html檔。

 perl -ne 'print "<p><a href=\"http://ejournal.stpi.org.tw/NSC_INDEX/Journal/EJ0001/$1\">$2</a></p>" if /href\s*=\s*"(\w+\/+\w+-\w+\.pdf)">(.+)\<\/a>/i'  *.htm >sci.html

弄出來的連結有上千個,不過經過刪減,跟生物相關的文章大概就剩下幾百篇(如下),不過還是有些非生物類的沒挑出來

http://sites.google.com/site/pancala/ke-xue-fa-zhan-yue-kan-sheng-wu-xiang-guan
(裡頭有些不是生物類的喔)

最後再用DownThemAll把所有文章抓下來,這樣抓一抓也快要1G了,蠻驚人的。
更驚人的是,如果我要挑文章給學生看,那我每篇都要先看過一次。