我正在尝试在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(导入内容为空)。
P.S。我愿意采用其他方式将所需的数据获取到Google工作表中,而不必使用IMPORTXML函数。
不久前我问了这个问题,有人给了我以下解决方案:
=REGEXEXTRACT(IMPORTXML(C2,"//script[@id='__NEXT_DATA__']"),"followerCount"":(\d+)")
这工作了好一阵子,但此后就停止了工作。
答案 0 :(得分:0)
我再次检查了我的建议。这样,我可以理解2020-07-21之后HTML数据已更改,因为当我在2020-07-21上发布此数据时,我可以确认xpath起作用。现在,通过此更改,我确认我的提案无法再使用。
因此,为了检索您期望的值,作为当前的解决方法,我建议使用Google Apps脚本。在当前阶段,似乎在使用Google Apps脚本时,可以检索该值。
打开Google Spreadsheet的脚本编辑器。
将以下脚本复制并粘贴到脚本编辑器中,然后保存脚本。
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()
放到单元格中。
通过此流程,将检索值。