使用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的儲存結果如下圖。