如何在 Google 表格中找出 IMPORTXML 的正确 xpath - 收到错误?
Posted
技术标签:
【中文标题】如何在 Google 表格中找出 IMPORTXML 的正确 xpath - 收到错误?【英文标题】:How to figure out proper xpath for IMPORTXML in Google Sheets - Receiving An Error? 【发布时间】:2020-07-05 07:17:38 【问题描述】:我正在尝试在 Google 表格上使用 IMPORTXML 功能。
例如:=IMPORTXML("https://exolyt.com/user/amazonprimevideo/full, XMLPATH) 应返回“1.8K”,即平均视频份额
我使用 Chrome 检查器复制 xpath,这给了我:
/html/body/div[1]/div[1]/div/div/div/div[3]/div[1]/div/div[2]/div/div[1]/div[ 3]/div[6]/div[3]/div[2]
当我在 Google 表格中尝试此操作时,它返回错误:#N/A(导入内容为空)。
附:我愿意通过其他方式将我需要的数据放入谷歌表格,它不必使用 IMPORTXML 函数。
【问题讨论】:
【参考方案1】:我相信你的目标如下。
您想要检索“平均视频分享”的值。 例如,在这种情况下,1.8K
是您需要的值。
为此,我想提出以下修改公式。
修改公式:
=IMPORTXML(A1,"//div[../div[text()='Avg. video shares']][2]")
在这种情况下,https://exolyt.com/user/amazonprimevideo/full
的 URL 被放到单元格“A1”中。
我使用 //div[../div[text()='Avg. video shares']][2]
作为 xpath。
结果:
注意:
作为其他 xpath,在您的情况下,您也可以使用 /html/body/div[1]/div/div/div/div/div/div[1]/div/div[2]/div/div[1]/div[2]/div[5]/div[3]/div[2]
作为 xpath,如下所示。
=IMPORTXML(A1,"/html/body/div[1]/div/div/div/div/div/div[1]/div/div[2]/div/div[1]/div[2]/div[5]/div[3]/div[2]")
来自I'm open to other ways to get the data I need into the google sheet, it doesn't have to use the IMPORTXML function.
,如果您想使用 Google Apps Script 实现您的目标,您还可以使用以下脚本作为自定义函数。在这种情况下,请将以下脚本复制并粘贴到电子表格的容器绑定脚本中,并将=customFunction()
放入单元格中。这样,1.8K
的值就被检索到了。
function customFunction()
const url = "https://exolyt.com/user/amazonprimevideo/full";
return UrlFetchApp
.fetch(url)
.getContentText()
.match(/Avg\. video shares<\/div><div .+?>(\w.+?)<\/div>/)[1];
在上面修改的公式和示例脚本中,当 URL 发生更改时,可能无法检索到您期望的结果。所以请注意这一点。
参考:
IMPORTXML【讨论】:
以上是关于如何在 Google 表格中找出 IMPORTXML 的正确 xpath - 收到错误?的主要内容,如果未能解决你的问题,请参考以下文章
应用脚本 - 如何将项目(错误率,执行,用户)的输出导入Google表格
使用正则表达式查看单元格是不是包含 Google 表格中的表情符号