2020年6月20日 星期六

用 Google 試算表抓取上櫃 興櫃股價資料 教學(使用IMPORTXML函式查詢bloomberg網站資料)


本次文章以上市、上櫃、興櫃各一支股票為例,來跟大家說明如何使用IMPORTXML函式抓取第三方來源的股價與其他資料


如果還沒看前面文章的記得先去補充基本概念

用 Google 試算表製做簡易股票報價表及理財表

用 Google 試算表製做歷史股價走勢圖(K線)

用 Google 試算表進行技術分析(雙週線)(月線)



===========================

好啦以下是正文,之前每次改了一下抓取的資料源,過沒多久就被封掉了

感覺每次都在跟資料源競賽,看是先找到抓取方式,還是先被封掉XDD


這次要感謝一位網友提供一個方法



不過直接貼上使用卻失敗了,後來我重新去Bloomberg網站研究了一下,並且研究了一下IMPORTXML函式的使用方式,終於成功了


首先先來說明一下IMPORTXML函式

官方文件請見下方連結




簡單的說,就是針對特定網址去做XPath_查詢

我知道講太多技術的東西大家會想放棄
直接告訴大家結論

本次用IMPORTXML函式從bloomberg的網站抓資料

Bloomberg上,台股的代碼通常是XXXX:TT,公式如下


=IMPORTXML("https://www.bloomberg.com/quote/"&$B2&"","//span[@class='priceText__1853e8a5']")


我先在B2的欄位放入我要查詢的股票代號,如下圖,把想要查詢的台股代碼加上:TT

然後再於C2的欄位放上公式


就成功啦!!!

以下如法泡製,就可以把上櫃的金洲,與興櫃的乾杯股價查詢出來了

是不是很簡單呢?


本次程式碼已經更新到理財表格長期支援版內

有訂閱的朋友記得去下方連結文章留言email就可以收到表格了



我將思想傳授他人,他人之所得,亦無損於我之所有;猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。湯瑪斯‧傑弗遜(Thomas Jefferson)


15 則留言:

  1. 太強大,一直以來,只能用googlefinance查上市股價,遇到上櫃就本不到了,謝謝版大提供方法,...

    回覆刪除
  2. 請問有沒有辦法抓到上櫃公司成交量資料,謝謝

    回覆刪除
  3. 1. "&$B2&"" 這個最後面的兩個 “” 好像沒有意義? 實測好像拿掉也可以?
    2. 同樣的方法,想要從Bloomberg網站抓 52週高低 & 當天的股價增跌幅+/-%好像不行 不知道是不是中間的字串有空格的緣故
    有沒有建議的方法嘗試一下?
    增跌幅: =IMPORTXML("https://www.bloomberg.com/quote/"&C4&":TT","//span[@class='changePercent__2d7dc0d2 negative__53babed0']")
    字串是: changePercent__2d7dc0d2 negative__53babed0' 中間有個空格

    52L & 52H:
    =IMPORTXML("https://www.bloomberg.com/quote/"&C4&":TT","//span[@class='textLeft__c99cf899 ']")
    =IMPORTXML("https://www.bloomberg.com/quote/"&C4&":TT","//span[@class='textRight__9a2b77e6 ']")

    兩個字串都有一個空格在最後面




    回覆刪除
  4. 感謝分享! 照本宣科也有成功抓取Key Statistics 像是PE EPS等等
    不過goodinfo好像格式就不太相同 就失敗了哈...

    回覆刪除
  5. 昨天還可以使用,今天就不行了,是Bloomberg有改版嗎?

    回覆刪除
  6. 你好今天不行用了 是不是網站改版了

    回覆刪除
  7. 可以改用ImportFromWeb:
    在此處獲取加載項:
    https : //gsuite.google.com/marketplace/app/importfromweb_easy_web_scraping/278587576794然後將IMPORTXML替換為IMPORTFROMWEB


    = IMPORTFROMWEB("https://www.bloomberg.com/quote/"&C3&":TT","//span [@class='priceText__1853e8a5']")

    參考來源 https://support.google.com/docs/thread/72619939?hl=en

    回覆刪除
  8. https://gsuite.google.com/marketplace/app/importfromweb_easy_web_scraping/278587576794

    回覆刪除
  9. 版主你好 我按照你的方法 寫了一份抓取月營收EPS當日股價的檔案
    不過需要擷取的數據太多(因為不是只抓一個股,大概有360個欄位要抓取資料) 會發生loading太久讀取步到
    請問有人知道要怎麼解決嗎

    回覆刪除
  10. 想請教一下,如希望importxml在Bloomberg恒生指數PE,該如何?
    (https://www.bloomberg.com/quote/HSI:IND)
    去年下記還可以用,但現在不成了。
    =importxml("https://www.bloomberg.com/quote/HSI:IND","//*/div/div/section[3]/div[6]/div/div[1]/div[1]/div/span[2]")

    回覆刪除

經濟日報數位訂閱懶人包

  去年寫過一篇介紹文,經濟日報推出了數位訂閱產品,如果你是價值投資者,或是對產業研究及經濟數據有興趣的朋友,包含深耕國內外財經深度內容、圖像式產業資料庫、早安經濟日報聽新聞等等。   目前有「彭博新聞獨家聯名、七大外媒授權合作、專家解析深度專欄」三大內容,豐富你的關鍵投...