如何抓取 YouTube 视频评论?

Posted

技术标签:

【中文标题】如何抓取 YouTube 视频评论?【英文标题】:How to crawl YouTube Video comments? 【发布时间】:2016-11-14 11:43:51 【问题描述】:

由于 YouTube 数据 API v2 不再存在,您需要获得用户的额外权限才能读取视频 cmets(例如权限 youtube.force-ssl)。没有任何可能读取具有“youtube.readonly”权限的视频cmets。

使用 Data API v2 可以像这样读取 youtube 视频 cmets:

https://gdata.youtube.com/feeds/api/videos/VIDEO_ID/comments

但是,如何仅通过“youtube.readonly”权限获得 youtube cmets? YouTube 使用 ajax 动态加载 cmets,那么是否可以爬取这些 cmets?

非常感谢!

【问题讨论】:

根据文档,youtube.force-ssl 需要通过 YT Data API v3 访问 cmets 方法,所以我想您需要刷新您的凭据并请求此范围。 【参考方案1】:

如果您想通过 url 阅读***评论,就像您在问题中所说的那样

你可以得到它,但你需要一个 youtube api 密钥,(它是免费的)

https://www.googleapis.com/youtube/v3/commentThreads?part=snippet&videoId=NK94g7Qctuw&key=YOUR_API_KEY

您不必获取任何访问令牌,如果您希望它从访问令牌中获取,请再次尝试获取刷新令牌,例如

$client->setAccessType('offline');
$client->setApprovalPrompt('force');

在 youtube api 示例中添加以上两行代码,您将获得一个自动刷新令牌。希望对你有帮助。

【讨论】:

以上是关于如何抓取 YouTube 视频评论?的主要内容,如果未能解决你的问题,请参考以下文章

如何获得特定的 YouTube 评论?

在 R 中抓取 Youtube 评论

用于抓取所有评论和回复的 YouTube 数据 API

如何从 Youtube 视频中获取所有评论

Php Smarty:如何按关键字抓取和嵌入 youtube 视频?

Youtube视频评论检索