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)
}
我需要从该网站获取整数值“最大回撤”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)
中包含的 jsonfunction 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)
}