[Geektool] 使用shellscript爬台銀匯率網頁
相信許多MacOS X的使用者對Geektool應該不陌生。
因為自己有隨時盯著台銀外幣匯率的需求,但找不到別人寫好的現成glet可以用。
所以只好自己研究台銀的匯率網頁原始碼,在原始碼中找到規則,
隨手寫了一小段爬台銀匯率網頁的Shell Script,
可以擷取需要的匯率資料,並藉由Geektool呈現在OSX的桌面上。
因為我只關注部分貨幣的即期匯率,
所以只針對美元、英鎊、澳幣、日幣與歐元列出即期的買賣價,
最終的原始碼如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# ============================================== # ### 爬台銀匯率 2015/03/04 Edit by forink ### # # ### http://techblog.forink.net/ ### # # ### 轉貼請保留原作者與文章網址,盜文必究 ### # # ============================================== # 從台銀匯率公告頁網址中取得頁面 url=`echo http://rate.bot.com.tw/Pages/Static/UIP003.zh-TW.htm` # 設定貨幣關鍵字 cur_ary=(USD GBP AUD JPY EUR) cur_len=${#cur_ary[@]} # 繪製TITLE echo ' Currency Buy Rate Sell Rate' echo '----------+-----------------------' # 依序查找台銀匯率表格 for (( i=0 ; i<${cur_len}; i++ )) do # 利用Regular Expression找到符合條件的表列並取出資料 cur_type=${cur_ary[$i]} rate_buy=`curl --silent ${url}|grep ${cur_type}| awk '{ print $12 }'|sed -e 's/[^0-9\.]*//g'` rate_sell=`curl --silent ${url}|grep ${cur_type}| awk '{ print $13 }'|sed -e 's/[^0-9\.]*//g'` # 格式化資料 rate_buy=${rate_buy:0:7} rate_sell=${rate_sell:0:7} # 組合後輸出 echo ' '${cur_type}'/TWD : '${rate_buy}' '${rate_sell} done echo '----------+-----------------------'; |