Google試算表抓取每日收盤上市/上櫃股票交易資料

更新 發佈閱讀 8 分鐘

台灣證券交易所(上市)和台灣櫃檯買賣中心(上櫃)每天收盤後(下午三點以後抓)都會整理好每檔股票當日的交易資訊,透過下列網址即可下載CSV檔:

台灣證券交易所 https://www.twse.com.tw/exchangeReport/STOCK_DAY_ALL?response=open_data

raw-image


台灣櫃檯買賣中心 https://www.tpex.org.tw/web/stock/aftertrading/DAILY_CLOSE_quotes/stk_quote_result.php?l=zh-tw&o=data


於是我就想把這些資料也填到我們的Google試算表中,所以我們在股票的試算表中追加兩個頁籤“每日上市成交資訊”,“每日上櫃成交資訊”

raw-image

接下來打開 “擴充功能 → Apps Script”

raw-image

在這裡寫了四段程式碼:

raw-image
raw-image
raw-image

第一段為 function fetchUrl(url),用來抓URL的回傳資料:

/* 嘗試使用URL抓取資料  */

function fetchUrl(url) {
  // 嘗試最多三次來獲取URL資料
  for (var count = 0; count < 3; count++) {
    try {
      var response = UrlFetchApp.fetch(url, {
        method: "GET",
        muteHttpExceptions: true
      });
      // 如果響應代碼為200,則返回響應內容
      if (response.getResponseCode() == 200) {
        return response;
      }
      // 如果伺服器錯誤,則等待3秒後重試
      Utilities.sleep(3000);
    } catch (error) {
      // 記錄任何捕獲的錯誤和相關的URL
      Logger.log("Error fetching data from URL: " + url);
      Logger.log("Error message: " + error.message);
    }
  }
  // 如果三次嘗試後仍然失敗,則拋出錯誤
  throw new Error("Failed to fetch data from URL after 3 attempts: " + url);
}

第二段為 function parseStockData(data, sheetName),用來解析抓回來的CSV檔=力存回試算表:

/* 解析csv檔,存入試算表 */
function parseStockData(data, sheetName) {
  // 使用正則表達式移除所有引號
  const regex = /"/g;
  var dataset = [];
  // 將數據分割成行
  var rows = data.getContentText().split('\n');
  for (var position = 0; position < rows.length && rows[position] != ""; position++) {
    line = rows[position].replace(regex, '').split(',');
    dataset.push(line);
  }
  // 打開指定ID的工作表並獲取指定名稱的子表
  var sheet = SpreadsheetApp.openById(PropertiesService.getScriptProperties().getProperty("sheetID")).getSheetByName(sheetName);
  // 清除子表的現有內容
  sheet.clearContents();
  // 設置範圍,準備寫入新數據
  var range = sheet.getRange(sheet.getLastRow()+1, 1, dataset.length, line.length);
  // 設定單元格格式為文本並填充數據
  range.setNumberFormat("@").setValues(dataset);
}

第三段 function getTSEstockinfo() 和第四段 function getOTCstockinfo(),則是分別去抓取上市與上櫃的股票資訊:

/* 取得每日上市股票交易資訊 */
function getTSEstockinfo(){
  // 指定台灣證券交易所每日交易資訊的URL
  const url = "https://www.twse.com.tw/exchangeReport/STOCK_DAY_ALL?response=open_data";
  // 獲取網站資料
  var response = fetchUrl(url);
  // 解析資料並寫入指定的Google Sheets工作表
  parseStockData(response, '每日上市成交資訊');
}

/* 取得每日上櫃股票交易資訊 */
function getOTCstockinfo(){
  // 指定台灣櫃檯買賣中心交易所每日交易資訊的URL
  const url = "https://www.tpex.org.tw/web/stock/aftertrading/DAILY_CLOSE_quotes/stk_quote_result.php?l=zh-tw&o=data";
  // 獲取網站資料
  var response = fetchUrl(url);
  // 解析資料並寫入指定的Google Sheets工作表
  parseStockData(response, '每日上櫃成交資訊');
}


Apps Script 專案設定:在這裡我們必須要把 試算表的 sheetID 設定好:

(Apps Script左手邊有個齒輪,按下去)

raw-image

再向下一點,找到指令碼屬性,我們按一下「新增指令碼屬性」

raw-image

新增一個名稱叫「sheetID」的屬性,

raw-image

屬性的值就是我們試算表的ID,在瀏覽器的網址列,可以看到:在"https://docs.google.com/spreadsheets/d/" 之後到下一個 "/"之間的代碼就是我們的 sheetID。

raw-image

設定好後記得儲存:

raw-image

接下來分別去執行 getTSEstockinfo() 和getOTCstockinfo() ,即可得今日股票的交易資訊:

raw-image

在試算表就可以看到今日上市/上櫃股票資訊:

raw-image
raw-image

111

留言
avatar-img
留言分享你的想法!
avatar-img
天空
2會員
24內容數
如果可以無所事事的放空,那才是真的幸福?
天空的其他內容
2025/08/25
本程式碼原始由網路上收集而來,我已經忘記原作者是誰,本人也做過許多修改。 股票資料來源為「 台灣證券交易所 https://mis.twse.com.tw/ 」 例如我要取得(上市) 2330 台積電股價,只要抓取「 https://mis.twse.com.tw/stock/api/getSt
Thumbnail
2025/08/25
本程式碼原始由網路上收集而來,我已經忘記原作者是誰,本人也做過許多修改。 股票資料來源為「 台灣證券交易所 https://mis.twse.com.tw/ 」 例如我要取得(上市) 2330 台積電股價,只要抓取「 https://mis.twse.com.tw/stock/api/getSt
Thumbnail
2025/08/25
首先建立一個交易紀錄表: 紀錄表裡有「股票代號、股票名稱、交易帳戶、上市/上櫃、個股/ETF/ETN、交易日期、單價、交易股數、價金、交易手續費、證交稅、合計金額、庫存數量、備註」 「股票代號」為股票上市公司在證交所的代號。 「股票名稱」為代號所對應的股票名稱,「上市」的台灣股票利用 GOO
Thumbnail
2025/08/25
首先建立一個交易紀錄表: 紀錄表裡有「股票代號、股票名稱、交易帳戶、上市/上櫃、個股/ETF/ETN、交易日期、單價、交易股數、價金、交易手續費、證交稅、合計金額、庫存數量、備註」 「股票代號」為股票上市公司在證交所的代號。 「股票名稱」為代號所對應的股票名稱,「上市」的台灣股票利用 GOO
Thumbnail
2024/12/11
2021年時除了開始投資台灣股市外,我也開了eToro帳戶。 eToro主打可以用信用卡小額入金,再加上開戶相當方便和快速,買賣不用手續費。 eToro更有一個相當有趣跟單系統,你可以選擇eToro上的任何一個投資明星,依該投資者的持股比例去跟單。 在2022年2月台灣金管會對eToro進
Thumbnail
2024/12/11
2021年時除了開始投資台灣股市外,我也開了eToro帳戶。 eToro主打可以用信用卡小額入金,再加上開戶相當方便和快速,買賣不用手續費。 eToro更有一個相當有趣跟單系統,你可以選擇eToro上的任何一個投資明星,依該投資者的持股比例去跟單。 在2022年2月台灣金管會對eToro進
Thumbnail
看更多
你可能也想看
Thumbnail
不是每個人都適合自己操盤,懂得利用「專業」,才是績效拉開差距的開始
Thumbnail
不是每個人都適合自己操盤,懂得利用「專業」,才是績效拉開差距的開始
Thumbnail
每日台股車況-24.04.15一 今日牛棚: 無 投資交易的方法、觀念、流派眾多,但把交易的流程拆解,可以簡化成以下步驟: 1.選股:                              2.決定買點(與加碼點) 上車 3.監控持股變化 4.決定賣點(與減碼點) 下車 ​5
Thumbnail
每日台股車況-24.04.15一 今日牛棚: 無 投資交易的方法、觀念、流派眾多,但把交易的流程拆解,可以簡化成以下步驟: 1.選股:                              2.決定買點(與加碼點) 上車 3.監控持股變化 4.決定賣點(與減碼點) 下車 ​5
Thumbnail
每日台股車況-24.03.19二 今日牛棚: 光寶科2301、聖暉5536、藥華藥6446 投資交易的方法、觀念、流派眾多,但把交易的流程拆解,可以簡化成以下步驟: 1.選股:                              2.決定買點(與加碼點) 上車 3.監控持股變化
Thumbnail
每日台股車況-24.03.19二 今日牛棚: 光寶科2301、聖暉5536、藥華藥6446 投資交易的方法、觀念、流派眾多,但把交易的流程拆解,可以簡化成以下步驟: 1.選股:                              2.決定買點(與加碼點) 上車 3.監控持股變化
Thumbnail
每日台股車況-24.03.15五 今日牛棚: 無 投資交易的方法、觀念、流派眾多,但把交易的流程拆解,可以簡化成以下步驟: 1.選股:                              2.決定買點(與加碼點) 上車 3.監控持股變化 4.決定賣點(與減碼點) 下車 ​5
Thumbnail
每日台股車況-24.03.15五 今日牛棚: 無 投資交易的方法、觀念、流派眾多,但把交易的流程拆解,可以簡化成以下步驟: 1.選股:                              2.決定買點(與加碼點) 上車 3.監控持股變化 4.決定賣點(與減碼點) 下車 ​5
Thumbnail
每日台股車況-24.03.14四 今日牛棚: 無 投資交易的方法、觀念、流派眾多,但把交易的流程拆解,可以簡化成以下步驟: 1.選股:                              2.決定買點(與加碼點) 上車 3.監控持股變化 4.決定賣點(與減碼點) 下車 ​5
Thumbnail
每日台股車況-24.03.14四 今日牛棚: 無 投資交易的方法、觀念、流派眾多,但把交易的流程拆解,可以簡化成以下步驟: 1.選股:                              2.決定買點(與加碼點) 上車 3.監控持股變化 4.決定賣點(與減碼點) 下車 ​5
Thumbnail
每日台股車況-24.03.01五 今日牛棚: 穎崴6515、光寶科2301 投資交易的方法、觀念、流派眾多,但把交易的流程拆解,可以簡化成以下步驟: 1.選股:                              2.決定買點(與加碼點) 上車 3.監控持股變化 4.決定賣點
Thumbnail
每日台股車況-24.03.01五 今日牛棚: 穎崴6515、光寶科2301 投資交易的方法、觀念、流派眾多,但把交易的流程拆解,可以簡化成以下步驟: 1.選股:                              2.決定買點(與加碼點) 上車 3.監控持股變化 4.決定賣點
Thumbnail
每日台股車況-24.02.22四 今日牛棚: 大學光3218、欣銓3264 投資交易的方法、觀念、流派眾多,但把交易的流程拆解,可以簡化成以下步驟: 1.選股:                              2.決定買點(與加碼點) 上車 3.監控持股變化 4.決定賣點
Thumbnail
每日台股車況-24.02.22四 今日牛棚: 大學光3218、欣銓3264 投資交易的方法、觀念、流派眾多,但把交易的流程拆解,可以簡化成以下步驟: 1.選股:                              2.決定買點(與加碼點) 上車 3.監控持股變化 4.決定賣點
Thumbnail
台股籌碼的盤勢觀察中,主要以現貨、期貨和選擇權等不同的籌碼面向進行每日的分析,以掌握市場的變化。同時,透過指數貢獻度的觀察,清楚地了解盤勢的控盤走向。此外也將技術面和主力籌碼面結合,以篩選出市場中的重點股,這有助於更全面地理解市場動態。
Thumbnail
台股籌碼的盤勢觀察中,主要以現貨、期貨和選擇權等不同的籌碼面向進行每日的分析,以掌握市場的變化。同時,透過指數貢獻度的觀察,清楚地了解盤勢的控盤走向。此外也將技術面和主力籌碼面結合,以篩選出市場中的重點股,這有助於更全面地理解市場動態。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News