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 的正确 xpath - 收到错误?