我正试图在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是:
<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>
谢谢你的帮助
发布于 2022-01-10 12:37:31
任何导入公式都不支持JavaScript内容。最好的做法是为你的报废找到一个不同的来源。
发布于 2022-01-16 21:26:21
首先,您将需要添加脚本到您的谷歌工作表。
如何向G/S 函数添加脚本
添加此脚本https://github.com/bradjasper/ImportJSON/blob/master/ImportJSON.gs
完成这些步骤之后,您可以使用以下公式:
=index(ImportJSON("https://bff.youngplatform.com/market/get-chart-data?baseCurrency=BTC"eCurrency=EUR&limit=1",""),2,5)这将给你第一对BTC到欧元。对于第二对,请将屏幕截图中所需的url更改为BTC。因此,将是:
=index(ImportJSON("https://bff.youngplatform.com/market/get-chart-data?baseCurrency=ETH"eCurrency=BTC&limit=1",""),2,5)如果这是你要找的东西,请告诉我。
发布于 2022-01-16 23:38:39
根据Stepan提供的url,您可以尝试
在你的剧本编辑里..。
function getInfo(base,quote,info) {
var url='https://bff.youngplatform.com/market/get-chart-data?baseCurrency='+base+'"eCurrency='+quote+'&limit=1'
var obj = JSON.parse(UrlFetchApp.fetch(url).getContentText())
return (obj.data[0][info])
}在你的床单上..。(在D1中添加一个复选框以刷新)
=getInfo(A1,B1,"close",D1)

https://stackoverflow.com/questions/70650356
复制相似问题