Google Sheet importxml 使用 xpath 查找值

Googlesheet importxml find value using xpath

我需要从该网站获取整数值“最大回撤”link =https://www.mql5.com/en/signals/1414510,

来自 google chrome 我尝试复制 xpath

//*[@id="radarChart"]/svg/text[8]/tspan[2]

然后在googlesheet中,我写:

=importxml(https://www.mql5.com/en/signals/1414510, "//*[@id='radarChart']/svg/text[8]/tspan[2]")

它无法检索值, 如何将正确的 xpath 写入值? 谢谢

通过 xpath

尝试 https://www.mql5.com/en/signals/1409351

=regexextract(importxml(A1,"//div[@class='s-data-columns hoverable']"),"\((.*)\)")

我强烈建议先测试这个公式以获得一个概览

=importxml(A1,"//div[@class='s-data-columns hoverable']")

来自 json

第二种方法可能是解析源代码 (var radarChart)

中包含的 json
function radarChart(url){
  var source = UrlFetchApp.fetch(url, {muteHttpExceptions: true}).getContentText().replace(/(\r\n|\n|\r|\t|  )/gm,"")
  var data = source.split(`new svgRadarChart($('radarChart'),[`)[1].split(']')[0]
  var values = (data.match(/value : ([^,]+)/g))
  var names = (data.match(/name : ([^,]+)/g))
  var val
  for (var i=0;i<names.length;i++){if (names[i]==`name : 'Maximum drawdown'`){val=values[i]}}
  return (val)
}

function radarChart(url){
  var source = UrlFetchApp.fetch(url, {muteHttpExceptions: true}).getContentText().replace(/(\r\n|\n|\r|\t|  )/gm,"")
  var data = source.split(`new svgRadarChart($('radarChart'),[`)[1].split(']')[0]
  var values = (data.match(/value : ([^,]+)/g))
  var names = (data.match(/name : ([^,]+)/g))
  var result = []
  for (var i=0;i<names.length;i++){
    result.push([names[i].replace('name : ','').replace(/'/g,''),values[i].replace('value : ','')])
  }
  return (result)
}