1. 證交所網站
通常看到的多數網站,都可以透過爬網技術爬下來,如果你爬不下來,代表你道行不夠深。
證交所抓歷史股價的網址是這個,當你填寫股票代碼後,他會透過GET方法從後台抓取資料,可以從網頁監控畫面看到:

因此我們知道,只要將股票代號及日期,帶上我們想要的資訊,就可以抓取歷史股價,以0050為例:

證交所的網站算好爬的,只要善用懂網頁監控器,幾乎沒有什麼是抓不下來的。
2. yfinance API
yfinance 是很常見的股票API,可以快速抓取股價,並且設定時間區間,詳細可以看文件。
但缺點就是在台股的資訊,除了股票代碼要記得加「.TW」,個股財務資訊也很常沒資料,但如果只是抓歷史股價,依然是瑕不掩瑜:

3. yahoo_fin API
跟yfinance功能幾乎一樣的API,數據源依然是yahoo,但背後維護的團隊是不一樣的,可以參考說明文件。
yahoo_fin相對於yfinance較為年輕,功能上也有許多改進之處,但缺點就是在財務資訊上的資料偏少,我覺得這是台股共同痛點。

4. twstock API
歷史悠久的台股專屬開源API,除了簡單易用外,說明文件也是全中文,非常適合新手使用。

因為是專屬於台股的API,財務資訊量相對於上述兩個API較為充足,可以跟yfinance配合使用。
5. FinMind API
FinMind 是一個非常強大且好用的API,可以參考官方文件,目前只要註冊驗證後,提供每小時600個request。
FinMind 語法簡單易用,資料自動轉成通用的 Pandas DataFrame,大幅提高資料處理效率。

如果說只選擇一種方法抓取股價,我會最推薦FinMind,無論是在功能完整性及開源維護上,它都是數一數二的佼佼者,希望對你有所幫助。