Google 表格 IMPORTXML

问题描述 投票:0回答:2

网站我将使用Google Sheet importxml函数从以下代码中导出值7.779

我尝试使用代码:

=IMPORTXML("https://www.boerse-frankfurt.de/en/etf/ishares-s-p-500-energy-sector-ucits-etf-usd-acc"; "//tr[@class='widget-table-row']")

但我得到以下结果:

您有什么建议吗?

google-apps-script google-sheets web-scraping google-sheets-formula urlfetch
2个回答
1
投票

在这种情况下,您的预期值似乎是从 API 中检索的。并且,这些值以 JSON 数据的形式返回。那么,根据您的情况,按如下方式使用 Google Apps 脚本怎么样?

示例脚本:

请将以下脚本复制并粘贴到电子表格的脚本编辑器中并保存脚本。当您想将其用作自定义函数时,请将

=SAMPLE()
的自定义函数放入单元格中。这样,就可以检索到该值。另外,您可以使用脚本编辑器直接运行该脚本。当您直接运行此脚本时,您可以在日志中看到检索到的值。

function SAMPLE() {
  const end = Math.floor(new Date().getTime() / 1000);
  const start = end - 3600;
  const url = `https://api.boerse-frankfurt.de/v1/tradingview/lightweight/history/single?from=${start}&to=${end}&symbols=XETR%3AIE00B42NKQ00`;
  const obj = JSON.parse(UrlFetchApp.fetch(url).getContentText())
  const res = obj[0].quotes.timeValuePairs.pop().value;
  console.log(res) // You can check the retrieved value in the log.
  return res;
}
  • 当前阶段,运行该脚本时,会得到
    7.779
    的值。

参考:


0
投票

Tanaike,感谢您提供这个解决方案。我也有同样的问题。我尝试运行该代码,更改 URL 末尾的数字(即标识),但是当我这样做时,代码不起作用。

我如何将该脚本用于我想要的任何其他基金?另外,我如何检索其他数据,例如同一网址中的日期?

非常感谢

© www.soinside.com 2019 - 2024. All rights reserved.