使用Python抓取台股證交所每日股價資料,儲存到MongoDB
將股票交易資料放進MongoDB資料庫,就不用需要每次從證交所讀取資料
從網址http://www.twse.com.tw/exchangeReport/STOCK_DAY?date=20180817&stockNo=2330讀取股票交易資料,該網址會以JSON格式回傳股票編號2330指定日期20180817的一個月股票交易資料,再進行處理放進MongoDB資料庫。
本程式在GitHub的網址
https://github.com/jang0820/Stock/blob/master/FromTwseToMongo.py
Step1)須先建立接收的MongoDB資料庫,設定好主機位址、資料庫名稱與資料表名稱,使用pymongo進行連線資料庫。
Step2)定義抓取股票交易資料函式get_stock_history
Step3)進行資料格式轉換再放入資料庫
Step4)配合證交所網站產生年與月的資料,查詢該月的股價
Step5)整合Step1到Step4所寫的函式,使用定義fetch_data函式抓取資料儲存到資料庫
Step6)呼叫連線資料庫,使用函式fetch_data取出編號2892的股票,從201704到今天的股價與成交量資料
完整程式碼如下
MongoDB的儲存結果如下圖。