Day25 — 透過 Rake 自動下載處理臺灣證券交易所的資料

前言

已經能從「臺灣證券交易所」抓資料、存入 DB,接下來要做自動化處理

說明

由於我電腦沒有 24 小時開著,加上專案也不會一直開著,需要時才會手動下 Rake 執行,因此沒有寫在 schedule,這部分可因需求,自行調整,這邊以 Rake 為例

實作

# lib/tasks/twse.rakenamespace :twse do  desc "auto execute all"
task auto: :environment do
Rake::Task["twse:download_all"].invoke
Rake::Task["twse:save_all"].invoke
end
desc "download twse ALLBUT0999、TWT49U data"
task download_all: :environment do
Rake::Task["twse:download_file"].invoke
Rake::Task["twse:download_dr_file"].invoke
end
desc "download twse ALLBUT0999 每日收盤行情(全部(不含權證、牛熊證、可展延牛熊證)) data"
task download_file: :environment do
Twse::Allbut0999::Download.new.execute
end
desc "download twse TWT49U 除權除息計算結果表 data"
task download_dr_file: :environment do
Twse::Twt49u::Download.new.execute
end
desc "ALLBUT0999、TWT49U CVS save to database"
task save_all: :environment do
Rake::Task["twse:save_dr_to_db"].invoke
Rake::Task["twse:save_to_db"].invoke
end
desc "ALLBUT0999 CVS save to database"
task save_to_db: :environment do
Twse::Allbut0999::SaveToDb.new.execute
end
desc "TWT49U CVS save to database"
task save_dr_to_db: :environment do
Twse::Twt49u::SaveToDb.new.execute
end
end

在 Terminal 輸入

rake twse:auto# orbundle exec rake twse:auto

實際執行畫面

小結

現在只需要手動下一行 code 就會自動下載、存入 DB、上傳到 GitHub,非常的方便

工程師的特性,發現要做重複的事情時,會想辦法做成自動化處理~

鐵人賽文章連結:https://ithelp.ithome.com.tw/articles/10273391
medium 文章連結:https://link.medium.com/wzKY4dNuTjb
本文同步發布於 小菜的 Blog https://riverye.com/

備註:之後文章修改更新,以個人部落格為主

--

--

被端走的小菜

大家好,我是被端走的小菜。以個人部落格更新為主:https://riverye.com/