#!c:/tcl/bin/tclsh86.exe
########################################################################
# 下載中央銀行貨幣總計數M2年增率資料
########################################################################
package require http
set url "http://www.cbc.gov.tw/np.asp?ctNode=643&mp=1"
set token [http::geturl $url -validate 1]
# create an easy-to-use array variable
upvar #0 $token head
set location "http://www.cbc.gov.tw/"
append location [dict get $head(meta) Location]
puts "### Get file: $location"
http::cleanup $token
set filename "cbc_m1b.xls"
set f [open $filename {WRONLY CREAT EXCL}]
set token [http::geturl $location -channel $f]
http::cleanup $token
close $f
exit
中央銀行貨幣總計數M2年增率資料在首頁就有,只是不是採用直接連結的方式,而是要從 head 裡取得檔案的下載位址,再從下載位址下載。在查過 Tcler's Wiki 該怎麼處理以後,我稍微改寫一下,目前可以正確的從網站下載我需要的資料。
如果中央銀行讓使用者下載資料的位址是固定的,那麼這段 code 就可以一直用下去,如果位址不固定的話,那就要想一下該怎麼做才對。