首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google importXml Xpath不起作用

Google importXml Xpath不起作用
EN

Stack Overflow用户
提问于 2022-01-10 09:39:47
回答 3查看 421关注 0票数 0

我正试图在google驱动器上创建一个工作表,在其中填充一些单元格,并在每次刷新时从网页中获取自动值。这一页是这样的:https://pro.youngplatform.com/pairs/ i想要自动获取欧元各种加密货币的价格值。

我发现这可以通过googlesheet的importXml函数来完成,该函数要求检索站点链接和html标记的xPath作为参数。

现在,在另一个站点上,我使用了这个公式,它起了作用:= IMPORTXML ("https://coinmarketcap.com/it/currencies/basic-attention-token"; "/ html / body / div / div / div [1] / div [2] / div / div [1] / div [2] / div / div [2] / div [1] / div / span ")

然而,在我现在正在尝试的页面中,我尝试过这两个版本,但它们都不起作用。1.=IMPORTXML("https://pro.youngplatform.com/pairs";"/html/body/div[1]/div/div/div/div[3]/div[2]/div/div/div[2]/div[1]/a/div/div[2]/p[2]")

2.=IMPORTXML("https://pro.youngplatform.com/pairs";"//div[@class='sc-cKRKFl kSUooD pair-row']/a/div/div[2]/p[2]")

我想在网页中检索的数据是这个屏幕:图像

而html是:

代码语言:javascript
复制
<div class="pair-row-container">
  <div class="sc-cKRKFl kSUooD pair-row" style="display: flex; box-sizing: border-box; flex-direction: column; justify-content: space-between; padding: 24px;">
    <div class="pair-landing"> 
      <div style="width: 100%; display: flex; flex-direction: row; padding-top: 16px;">
        <p color="var(--dark-gray-2)" font-family="euclid" font-size="medium" type="label" class="textcomponent__TextWrapper-sc-15gki1c-0 ddfcgW" style="margin-top: auto; margin-bottom: auto;">Ultimo prezzo</p>
        <div style="margin-left: auto; display: flex; flex-direction: row;">
          <p color="var(--white)" font-family="euclid" font-size="medium" type="label" class="textcomponent__TextWrapper-sc-15gki1c-0 jSVmDi">37.186,79 EUR</p>
          <p color="var(--dark-gray-1)" font-family="euclid" font-size="xsmall" type="paragraph" class="textcomponent__TextWrapper-sc-15gki1c-0 bUsMMZ" style="margin-left: 3px;">37.186,79 €</p> 
        </div>
      </div>
    </div>
  </div>
</div>

我想取里面的值:<p color="var(--dark-gray-1)" font-family="euclid" font-size="xsmall" type="paragraph" class="textcomponent__TextWrapper-sc-15gki1c-0 bUsMMZ" style="margin-left: 3px;">37.186,79 €</p>

谢谢你的帮助

EN

回答 3

Stack Overflow用户

发布于 2022-01-10 12:37:31

任何导入公式都不支持JavaScript内容。最好的做法是为你的报废找到一个不同的来源。

票数 0
EN

Stack Overflow用户

发布于 2022-01-16 21:26:21

首先,您将需要添加脚本到您的谷歌工作表。

如何向G/S 函数添加脚本

添加此脚本https://github.com/bradjasper/ImportJSON/blob/master/ImportJSON.gs

完成这些步骤之后,您可以使用以下公式:

代码语言:javascript
复制
=index(ImportJSON("https://bff.youngplatform.com/market/get-chart-data?baseCurrency=BTC&quoteCurrency=EUR&limit=1",""),2,5)

这将给你第一对BTC到欧元。对于第二对,请将屏幕截图中所需的url更改为BTC。因此,将是:

代码语言:javascript
复制
=index(ImportJSON("https://bff.youngplatform.com/market/get-chart-data?baseCurrency=ETH&quoteCurrency=BTC&limit=1",""),2,5)

如果这是你要找的东西,请告诉我。

票数 0
EN

Stack Overflow用户

发布于 2022-01-16 23:38:39

根据Stepan提供的url,您可以尝试

在你的剧本编辑里..。

代码语言:javascript
复制
function getInfo(base,quote,info) {
  var url='https://bff.youngplatform.com/market/get-chart-data?baseCurrency='+base+'&quoteCurrency='+quote+'&limit=1'
  var obj = JSON.parse(UrlFetchApp.fetch(url).getContentText())
  return (obj.data[0][info])
}

在你的床单上..。(在D1中添加一个复选框以刷新)

代码语言:javascript
复制
=getInfo(A1,B1,"close",D1)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70650356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档