You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将奥斯陆交易所股票价格从Bloomberg导入Google Sheets?

奥斯陆交易所股票导入Google Sheets的可行方案

我太懂这种卡壳的感觉了——奥斯陆交易所的股票确实不在Google Finance的支持范围内,之前你试的IMPORTXML失效,大概率是因为Bloomberg的页面结构改了,或者人家的反爬机制把请求拦住了。给你两个亲测可行的方案,你可以挨个试试:

方案一:自定义Google Apps Script函数(最稳定)

这个方法通过写简单的脚本直接从奥斯陆交易所官网抓数据,比公式更不容易被反爬,也更灵活:

  • 打开你的Google Sheet,点击顶部菜单栏的「扩展程序」→「Apps Script」
  • 把编辑器里默认的代码删掉,粘贴下面的脚本:
    function getOsloStockPrice(ticker) {
      // 拼接奥斯陆交易所的股票详情页URL
      var url = "https://www.oslobors.no/markedsaktivitet/#/instrument/" + ticker + "/overview";
      // 模拟浏览器请求头,避免被反爬拦截
      var response = UrlFetchApp.fetch(url, {
        headers: {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"}
      });
      var html = response.getContentText();
      // 用正则提取价格(匹配页面里的价格元素)
      var priceMatch = html.match(/<span class="instrument-price__value">([\d,.]+)<\/span>/);
      if (priceMatch && priceMatch[1]) {
        // 把挪威式的逗号小数点转成标准格式,返回数字
        return parseFloat(priceMatch[1].replace(",", "."));
      } else {
        return "数据获取失败,请检查股票代码";
      }
    }
    
  • 点击编辑器顶部的「保存」,给脚本起个名字(比如OsloStockFetcher),然后授权(第一次运行会提示权限,按步骤允许即可)
  • 回到Sheet里,输入=getOsloStockPrice("GJF")就能获取GJF:NO的价格了(这里只用股票代码前缀,不用加:NO)

如果之后奥斯陆交易所的页面结构变了,只需要调整脚本里的正则表达式就能继续用。

方案二:用IMPORTHTML抓取第三方金融站点数据

如果不想写脚本,可以试试这个公式,用公开的第三方金融站点数据:

=INDEX(IMPORTHTML("https://www.investing.com/equities/" & SUBSTITUTE(A1, ":NO", ""), "table", 1), 2, 2)

操作说明:

  • 把A1替换成你存放股票代码(比如GJF:NO)的单元格
  • 公式会自动去掉:NO后缀,抓取页面里的价格表格,提取第二行第二列的当前价格

注意:第三方站点的页面结构可能会更新,如果公式失效,需要调整INDEX里的行号和列号。

额外提醒

不管用哪种方法,都不要过于频繁地刷新数据(比如设置每分钟自动刷新),避免被目标网站封禁IP;如果某一天突然失效,大概率是目标网站改了页面结构,调整脚本的正则或者公式的索引位置即可。

内容的提问来源于stack exchange,提问作者xryxr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:37:41