如果想要用 Google 試算表來抓取股票的股價,除了內建的「GOOGLEFINANCE」函數之外,其實還有另一個函數可以使用,那就是這篇文章要介紹的「IMPORTXML」函數,只要用了這個函數,就可以抓到上市、上櫃或是興櫃的股價!
歡迎來到《數位小幫手》網站,閱讀文章之前請先了解我們的免責聲明與使用條款及隱私權政策。
點擊追蹤數位小幫手社群平台:Threads、Instagram、Twitter…等等。
IMPORTXML 函數簡介
IMPORTXML 是 Google 試算表內建的函數之一,它主要是用來匯入多種結構化類型的資料,包括 XML、HTML、CSV….等等,這個函數本身公式並不複雜,只需要填入 網址
跟 XPath_查詢
這兩個引數就好,公式語法如下:
=IMPORTXML(網址,XPath_查詢)
如何用 IMPORTXML 抓取上市公司股價?
雖然 IMPORTXML 有其他的用途,但在這篇文章裡面,主要是要介紹怎麼用它來抓取股票的「股價」,而接下來我會以 Google Chrome 瀏覽器為例,先試著抓取上市公司台積電 (2330) 的股價。
Step 1:找一個可以抓取股價的網站
網路上有各式各樣的股票資訊網站,但並非每一個都可以讓 IMPORTXML 函數來抓取股價,由於這類型的網站太多,我也沒辦法一個一個去試,因此我就用自己有在抓取的網站「HiStock 嗨投資理財社群」來當作示範,接下來就前往這個網站來抓取股價吧。
Step 2:進入股票資訊頁面
到達「HiStock 嗨投資理財社群」首頁之後,假設我想要了解台積電 (2330) 的股價資訊,我可以從個股裡面去搜尋它,然後來到 Histock 的台積電個股頁面 (如下圖),就跟許多財經網站一樣,Histock 的頁面上面也有各式各樣的個股資訊,其中「股價」是必備的資訊之一,也是接下來要抓取的目標。
Step 3:可先擷取股價的網址
到達台積電的個股資訊頁面之後,你可以先把這個頁面的 網址
複製起來,並把它輸入到試算表 IMPORTXML 的「第一個引數」裡面。
把 網址
輸入到 IMPORTXML 的公式裡之後,記得要在網址的前後各自加上一個「雙引號 "
」。
Step 4:打開「開發者工具」
再來要打開 Chrome 瀏覽器的開發者工具 (DevTools),有三種方式可以打開這個介面:
- 按
F12
- 按
Ctrl
+Shift
+C
- 點擊滑鼠右鍵>
檢查
打開之後,你會發現瀏覽器裡面會出現一塊「充滿電腦程式語法的操作介面」,雖然看起來很複雜,但其實不用擔心也不需要看懂它,因為接下來的步驟不算太難。
Step 5:使用選取工具
首先,你需要找到一個「選取工具」,可以參考下面這張圖,它在開發者工具的左上角附近,找到它之後就用滑鼠點它一下。
Step 6:找到顯示股價的程式碼片段
這時候你就會進入選取的狀態,只要你把滑鼠移動到左邊網頁中的任何地方,右邊的「開發者工具」都會顯示那個位置的「程式碼」,由於我想要抓的是股價,所以我就把滑鼠移動到台積電的「股價」位置 (如下圖)。
好了之後就用滑鼠點一下那個股價位置,那這時候右邊的「開發者工具」就會把這個位置的「程式碼」給反藍顯示出來。
Step 7:複製 XPath
再來對著那段反藍的「程式碼」按下滑鼠右鍵,選擇 Copy
>Copy XPath
,把這段路徑給複製起來。
Step 8:貼上 XPath
把剛剛複製的 XPath 貼到 IMPORTXML 的第二個引數內,一樣程式碼的前後也都要各自加上一個「雙引號 "
」。
但這時候還不能完成公式,因為這個公式還有些地方要修改,否則會顯示出錯誤的訊息。
Step 9:修改雙引號
要修改的地方就是程式碼裡面的「雙引號 "
」,原本雙引號裡面的資料是顯示黑色,只要把那兩個 雙引號
都改成 單引號
,原本的黑色也會跟著變成綠色,這時公式就算大功告成。
成功抓取股價
按下 Enter 鍵之後 IMPORTXML 回傳的就會是股價資訊。
其他抓取股價範例
除了上市的公司股價之外,其他像是上櫃或興櫃的公司,也都可以透過 IMPORTXML 函數來抓取股價資料,如果同樣都是用「HiStock」這個網站來抓取資料的話,那公式其實會長得差不多。
IMPORTXML 抓取上櫃股價
假設要抓取的是上櫃公司「環球晶」的股價,它的公式如下:
=IMPORTXML("https://histock.tw/stock/6488","//*[@id='Price1_lbTPrice']/span")
IMPORTXML 抓取興櫃股價
假設要抓取的是興櫃公司「富味鄉」的股價,它的公式如下:
=IMPORTXML("https://histock.tw/stock/1260","//*[@id='Price1_lbTPrice']/span")
IMPORTXML 抓取國外股價
假設要抓取的是美股的公司「蘋果」,由於它也可以在 Histock 裡面找到股價資訊,所以你也可以利用 IMPORTXML 函數來抓取股價!它的公式如下:
=IMPORTXML("https://histock.tw/index/AAPL","//*[@id='Price1_lbTPrice']/span")
結語
如果有在使用 GOOGLEFINANCE 函數抓取股票資訊的人,應該知道它是抓不到上櫃或興櫃股票的資料的,這樣多少會有點麻煩,但學會只要使用 IMPORTXML 這個函數來爬取股價,那就可以用 Google 試算表來做很多投資理財的規劃。
不過 IMPORTXML 有時候不是很穩定,可能會出現 Loading...
、#N/A
這些短暫的錯誤訊息,通常跟它爬取的狀況有關,這個可能的因素很多也較難說清楚,像是之前我有個工作表裡可能因為用了太多這個 IMPORTXML 函數,造成很多股價都要抓很久的時間,所以使用數量可能需要控制好。(我後來都是跟 GOOGLEFINANCE 相互搭配使用,這樣試算表抓得比較快)
另外,能抓取股價的網站也並非只有「Histock」,也有其他網站是可以抓的,但不同網站的「網址」跟「XPath」結構都不太一樣,如果還要搭配使用其他函數的話,就要花點心思去編輯了。
延伸閱讀
- 【Google 試算表】文章總列表
- 【Google 試算表】自動抓取股價資料,就用 GoogleFinance 搞定!
- 【Google 試算表】如何繪製折線圖?哪些功能一定要試試!
- 【Google 試算表】如何插入公式?公式 12 個小技巧都學起來!
- 如何用函數製作甘特圖?顏色形狀隨意改,功能更多樣!
References:文件編輯器說明
https://www.w3schools.com/xml/xpath_intro.asp
原網站|數
位
小
幫
手
digitalyoming
.com
( 未經許可,禁止轉載 )
原網址|https://digitalyoming.com/how-to-use-importxml-to-grab-stock-prices-in-google-sheets/