Google 表格——ImportXML 函数。接收错误?

Posted

技术标签:

【中文标题】Google 表格——ImportXML 函数。接收错误?【英文标题】:Google Sheets -- ImportXML function. Receiving Error? 【发布时间】:2020-07-21 03:58:03 【问题描述】:

我正在尝试在 Google 表格上使用 IMPORTXML 功能。

例如:

=IMPORTXML("https://www.tiktok.com/@charlidamelio?lang=en", XMLPATH) 

应该返回“72.6M”

我使用 Chrome 检查器复制 xpath,这给了我:

/html/body/div[1]/div/div[2]/div/div[1]/div/header/h2[1]/strong[2]

当我在 Google 表格中尝试此操作时,它返回错误:#N/A(导入内容为空)。

附:我愿意通过其他方式将我需要的数据放入谷歌表格,它不必使用 IMPORTXML 函数。

我前段时间问了这个问题,有人给了我以下解决方案:

=REGEXEXTRACT(IMPORTXML(C2,"//script[@id='__NEXT_DATA__']"),"followerCount"":(\d+)")

这在一段时间内效果很好,但后来停止工作。

【问题讨论】:

我再次检查了我的建议。通过这一点,我可以理解 HTML 数据在 2020-07-21 之后已更改,因为当我在 2020-07-21 发布此内容时,我可以确认 xpath 有效。通过这个改变,我可以理解我的这个提议不能再使用了。我对 HTML 已更改深表歉意。所以,现在,我必须删除我对这个问题的回答。因为需要寻找其他方法。为此,如何使用 Google Apps 脚本?使用脚本时,似乎可以检索到该值。收到您的回复后,我想准备一下。 我绝对愿意使用 Google Apps 脚本,但我可能需要了解如何将其安装到 Google 表格中。 Tanaike,我真的很感谢你在这件事上的所有帮助。你是天使。 感谢您的回复。根据您的回复,我提出了使用 Google Apps 脚本作为当前解决方法的方法。你能确认一下吗?如果这不是您期望的方向,我深表歉意。 我的回答是否向您展示了您想要的结果?你能告诉我吗?这对我学习也很有用。如果这可行,与您有相同问题的其他人也可以将您的问题作为可以解决的问题。如果您对我的回答有疑问,我深表歉意。到时候,可以问一下你现在的情况吗?我想学习解决你的问题。 【参考方案1】:

问题和解决方法:

我再次检查了我的建议。通过这一点,我可以理解 HTML 数据在 2020-07-21 之后已更改,因为当我在 2020-07-21 发布此内容时,我可以确认 xpath 有效。通过这次更改,我现在确认我的这个提议不能再使用了。

因此,为了检索您期望的值,作为当前的解决方法,我想建议使用 Google Apps 脚本。目前阶段,似乎使用 Google Apps Script 时,可以检索到该值。

用法:

    打开 Google 电子表格的脚本编辑器。

    将以下脚本复制并粘贴到脚本编辑器并保存脚本。

     function SAMPLE() 
       var url = "https://www.tiktok.com/@charlidamelio?lang=en";
       return UrlFetchApp
         .fetch(url)
         .getContentText()
         .match(/<meta name\="description"[\s\S\w]+?>/)[0]
         .match(/([.\w]+?) Fans/)[1];
     
    

    返回 Google 电子表格,将 =SAMPLE() 输入到单元格中。

    此函数用作自定义函数。

通过此流程,检索值。

注意:

我不确定它可以使用多长时间。更改 HTML 结构后,可能无法使用此解决方法。请注意这一点。 当您将此脚本用于其他 URL 时,可能无法使用此解决方法。请注意这一点。

参考资料:

Custom Functions in Google Sheets Class UrlFetchApp

【讨论】:

以上是关于Google 表格——ImportXML 函数。接收错误?的主要内容,如果未能解决你的问题,请参考以下文章

Google 表格:=importxml 未加载某些结果

如何在 Google 表格中找出 IMPORTXML 的正确 xpath - 收到错误?

来自Lenovo Page的Google Sheet ImportXML

在Google表格上更正= IMPORTXML的路径

Google 表格 ImportXML - 提取类信息

如何在 Google 表格中为 IMPORTXML 找出正确的 xpath - N/A 错误?