某日使用者提了個問題,她希望挨踢可以幫忙自動抓當日收盤匯率,丟進ERP系統內。
https://rate.bot.com.tw/xrt?Lang=zh-TW
其實銀行有提供很多資訊,包含,1.下載文字檔、2.下載Excel(CSV)檔、3.就是網頁本身
但因為網頁本身並非固定HTM檔案、文字檔也非固定URL路徑,
除非人工進網頁下載成檔案,否則要自動化,還是需要一定的技術。
再加上人總是善忘,手動下載、或進系統敲每天匯率總是落東落西的,讓各單位抱怨。
所以,我決定用熟悉的VB來處理+定時免費下載網頁的FREE工具,
每天4點收盤後準時解析HTM的內容:
這些Windows 定時下載網頁工具,舉例:
CURL
Free Download Manager
SeqDownload
然後VB去解析存下來的HTM,轉化為IMPORT SQL,再加上PL/SQL去轉換為各種幣別戶轉的匯率。
就得到了每日的前日收盤匯率。
insert into xxx_exchange_rates(currency,to_currency,exchange_date,c_buy,c_sold,r_buy,r_sold) values('USD','TWD','2018/10/19','30.53','31.22','30.9','31');
insert into xxx_exchange_rates(currency,to_currency,exchange_date,c_buy,c_sold,r_buy,r_sold) values('HKD','TWD','2018/10/19','3.781','3.997','3.917','3.977');
insert into xxx_exchange_rates(currency,to_currency,exchange_date,c_buy,c_sold,r_buy,r_sold) values('GBP','TWD','2018/10/19','39.39','41.51','40.39','40.81');
insert into xxx_exchange_rates(currency,to_currency,exchange_date,c_buy,c_sold,r_buy,r_sold) values('EUR','TWD','2018/10/19','34.82','36.16','35.44','35.84');
insert into xxx_exchange_rates(currency,to_currency,exchange_date,c_buy,c_sold,r_buy,r_sold) values('CNY','TWD','2018/10/19','4.365','4.527','4.437','4.487');
commit;
exit;