承上一篇:
如果你試過用 Google Sheets 追蹤台股,一定會遇到一個痛點:「為什麼沒辦法顯示櫃買的股價」。
Google 內建的指令雖然方便,但資料庫大多偏向美股,對台股的細項支援較少。別擔心,這篇要教你如何藉助其他財經網站,爬取所需資料。
本篇僅供教學交流使用,爬蟲資料來源來自Yahoo!股市
一、Google Sheets 網頁爬蟲
IMPORTXML:精準抓取特定文字
可用於抓取網頁中某個角落的數字(如:股價的數字):
語法:
=IMPORTXML("網頁網址", "XPath 路徑")

二、實戰範例:抓取台股「股價」
我們以「Yahoo 奇摩股市」作為資料來源,抓取元大美債20年(00679B)的資料。
第一步:獲取網址
元大美債20年(00679B)在 Yahoo 股市的頁面是:
https://tw.stock.yahoo.com/quote/00679B.TWO
第二步:找網頁Xpath路徑
- 對網頁想要獲取的數值按下『右鍵』:

- 按下檢查,會跳出網頁的架構程式碼,並且自動反藍你剛剛右鍵的目標物

- 在反藍項按『右鍵』

- 將鼠標移到『copy』,他會自動跑出右拉選單,按下『copy XPath』即可

第三步:使用 IMPORTXML 公式
在 Google Sheets 儲存格填入以下指令:
=IMPORTXML("網頁網址", "XPath 路徑")

此時會報錯,是因為我們的XPath中有引號『 ""』,這和我們所用公式的引號重疊了,導致電腦誤會,所以需要把XPath中的雙引號『 ""』,改成單引號『 ''』,問題就解決了。

股價成功跑出來了!
三、 此功能其他用處
前幾篇文章我們提過,不配息的公司(成長股) 往往將盈餘再投資以換取股價增長。這類投資人的核心指標不是「殖利率」,而是「成長率」與「本益比」。
你可以利用 IMPORTXML 抓取財經報表中的 「營收成長率」。
- 理論公式: 假設我們要計算公司的價值成長,可以使用 LaTeX 標註的公式:企業價值 (EV) = 股權市值 + 總負債 - 現金及約當現金
- 當你在 Sheet 中彙整了這些數據,你就能一眼看出這家公司雖然不發錢,但它的「內含價值」是否正在飛速噴發。
⚠️ 小提醒
- 網頁改版會失效: 這是爬蟲的宿命。如果 Yahoo 或網站改版,XPath 可能會變,到時你需要重新去網頁「檢查」並複製新的地址。
- 存取頻率: 不要一次在一個試算表裡放 500 個 IMPORTXML 指令,這會導致 Google 的伺服器跑不動,出現 #N/A 的錯誤。建議分批處理,或只針對核心持股使用。
- 網頁其實不喜歡爬蟲,因為爬蟲不但會增加網頁負擔,又沒有廣告收益,對網站來說是蛀蟲,所以很多網站會用一些手段擋住爬蟲。
- 本篇僅作為教學使用,作者仍鼓勵大家直接去網站獲取精美資料,讓網站能永續經營
免責聲明:本文章僅供個人經驗分享與研究參考,不構成任何投資建議,請投資人審慎評估自身風險承受能力。
資料來源:台灣證券交易所、Yahoo!股市
繼續閱讀
















