如何为 Google Sheets 公式 ImportXML 获取正确的 XPath

How to get the correct XPath for Google Sheets formula ImportXML

我尝试在我的 Google 表格中设置 importXML,我使用该方法复制完整的 Xpath。 它似乎根本不起作用。 阅读 Xpath 后仍然不确定如何仅针对代币价格获得正确的路径。 希望可以得到一些想法或文档来阅读以获得我需要的价值。 非常感谢您阅读本文。 祝你有个愉快的一天。

=IMPORTXML("https://info.osmosis.zone/token/DSM","/html/body/div[1]/div/div[3]/div/div/p ")

页面内容

You need to enable JavaScript to run this app.

JavaScript 内容不受任何 IMPORT 公式支持。最好的做法是为您的报废寻找不同的来源。

您需要使用包含 json.

的特定 url (api)

编辑:

根据@QHarr 提供的 url,如果你想从 url 中检索所有信息,请尝试

function parseValues(url) {
  const jsn = JSON.parse(UrlFetchApp.fetch(url).getContentText())
  const headers = Object.keys(jsn[0]);
  return  ([headers, ...jsn.map(obj => headers.map(header => Array.isArray(obj[header]) ? obj[header].join(",") : obj[header]))]);
}

在你的 sheet

=parseValues("https://api-osmosis.imperator.co/tokens/v1/DSM")

通过以下方式创建自定义函数:

  • 打开脚本编辑器(工具 > 脚本编辑器或扩展 > Apps 脚本)

然后在脚本中输入以下内容:

/**
 * @return Specific value out of the value of different fields
 * @customfunction
 */
function PARSEVALUE(Url,itemKey) {
  var res = UrlFetchApp.fetch(Url);
  var content = res.getContentText();
  var jsonObject = JSON.parse(content);
  return jsonObject[0][itemKey];
}

在您的电子表格中,使用如下函数:

=PARSEVALUE("https://api-osmosis.imperator.co/tokens/v1/DSM","price")

不同的键有不同的值,如pricesymbolnameliquidityvolume_24h e.t.c。你可以使用这个功能抓取。