使用Python抓取台股證交所每日股價資料,儲存到Mysql

2023/09/08更新

將股票交易資料放進Mysql資料庫,就不用需要每次從證交所讀取資料

從網址http://www.twse.com.tw/exchangeReport/STOCK_DAY?date=20180817&stockNo=2330讀取股票交易資料,該網址會以JSON格式回傳股票編號2330指定日期20180817的一個月股票交易資料,再進行處理放進Mysql資料庫。

本程式在GitHub的網址

https://github.com/jang0820/Stock/blob/master/FromTwseToMysql.py

Step0)建立資料庫TwStock的資料表twse,本範例建立資料表twse格式如下方SQL。

Step1)須先建立接收的Mysql資料庫,設定好主機位址、資料庫名稱、使用者帳號與密碼,使用pymysql進行連線資料庫。

Step2)定義抓取股票交易資料函式get_stock_history

Step3)進行資料格式轉換再放入資料庫

Step4)配合證交所網站產生年與月的資料,查詢該月的股價

Step5)整合Step1到Step4所寫的函式,使用定義fetch_data函式抓取資料儲存到資料庫

Step6)呼叫連線資料庫,使用函式fetch_data取出編號2892的股票,從201806到今天的股價與成交量資料

完整程式碼如下

執行後使用PhpMyAdmin瀏覽結果如下。