我应该使用什么 XPath 表达式来获取 YouTube 视频的点赞数和评论数?

What XPath expression should I use to fetch the number of likes and comments on a YouTube video?

我在 Google 电子表格上使用 "IMPORTXML" 函数来获取任何给定 YouTube 视频的点赞数和评论数。但是,我找不到正确的 XPath,而且我已经尝试过 return 一个空值。

我使用 ChroPath 提取评论和点赞数的 XPath,但没有成功。

这是我用于大量评论的 XPath:

//yt-formatted-string[@class='count-text style-scope ytd-comments-header-renderer']

这是点赞数:

//div[@id='info']//ytd-toggle-button-renderer[1]//a[1]//yt-icon-button[1]

当我尝试这些时,它只是说内容是空的。我应该使用什么正确的 XPath 来获取喜欢和评论的数量?

  • 您想检索视频在 YouTube 上的点赞数。
  • 您想将值放入电子表格。

这个公式怎么样?请将此视为几个答案之一。

示例公式:

=VALUE(IMPORTXML(A1,"//button[@title='I like this']/span"))
  • 在这种情况下,单元格 "A1" 是 URL,例如 https://www.youtube.com/watch?v=###
  • Xpath 是 //button[@title='I like this']/span".

Google Apps 脚本的示例脚本:

作为获取点赞数的另一种方法,如果您使用Google Apps Script的高级Google服务,示例脚本如下。

var count = YouTube.Videos.list("statistics", {id: "###"}).items[0].statistics.likeCount;
  • ### 是视频的 ID。

参考文献:

如果我误解了你的问题,这不是你想要的结果,我深表歉意。

对于 YOUTUBE 点赞,您可以使用:

=IF(ISNA(IMPORTXML("https://www.youtube.com/watch?v=MkgR0SxmMKo","(//*[contains(@class,'like-button-renderer-like-button')])[1]"))=TRUE,0,
         IMPORTXML("https://www.youtube.com/watch?v=MkgR0SxmMKo","(//*[contains(@class,'like-button-renderer-like-button')])[1]"))