Zi 字媒體
2017-07-25T20:27:27+00:00
Python – 透過證交所開放資料API抓取台股成交資訊
2020-08-02 更新
目錄 原始文章
Python – 透過證交所開放資料API抓取台股成交資訊
個股日成交資訊
證交所在政府開放資料平台上提供了一個資料集個股日成交資訊,這裡面的資料會每日更新,並且只保留最新的資料。如果你想抓歷史股價資料,可以參考另一篇文章〈透過Yahoo Finance API抓取台股歷史資料〉。
資料格式
在這個資料集中,雖然它標示的檔案格式是csv,但我用Python的request套件抓下來後,發現它的資料結構很像json。我不是很了解這兩種格式之間的轉換邏輯,總之我後來順利使用json的方式成功處理,並轉成pandas的dataframe。
不要抓錯網址
點擊「檢視資料」按鈕後,會跳出彈出式視窗,注意你要抓的網址是上面的「資料下載網址」,不要開心的看到下面有json格式就直接用了。下面的連結只是範例資料,你抓一百年也還是一樣的股價。
完整程式碼
import requests
import pandas as pd
# 透過證交所API抓取資料
link = 'http://www.twse.com.tw/exchangeReport/STOCK_DAY_ALL?response=open_dat'
r = requests.get(link)
data = pd.DataFrame(r.json()['data'])
# 修改欄位名稱
data.columns = ['SECURITY_CODE', 'NAME', 'VOLUME', 'AMOUNT', 'OPEN',
'HIGH', 'LOW', 'CLOSE', 'PRICE_CHANGE', 'TRANSACTION']
推薦文章
在DataCamp學Python和R語言,快速入門資料科學
寫了
5860316篇文章,獲得
23313次喜歡