首页 > 解决方案 > YouTube IFrame API:获取视频描述

问题描述

我需要直接从用户的浏览器中获取视频描述(不是标题),API 提供的唯一合法方法是调用player.getVideoData(),但它不包含它。

我尝试使用无证调用,https://www.youtube.com/get_video_info?video_id={video_id}但它被 CORS 阻止。

我还发现 API v3视频/列表调用看起来像 https://www.googleapis.com/youtube/v3/videos?key=YOUR_API_KEY&part=snippet&id=VIDEO_ID

但据我所知,它是为了服务器到服务器的调用,我不想把我的 API 密钥放在这里。

从我用谷歌搜索的内容来看,它看起来像以前player.getVideoData()返回的description但现在它似乎坏了。

那么有什么方法可以直接从浏览器获取描述吗?

标签: youtube-iframe-api

解决方案


您可以尝试使用document.querySelector- 阅读描述,例如:

document.querySelector("#description > yt-formatted-string").innerText

NB 这querySelector对我有用,即使 YouTube 网站在他的 URL 参数中有disable_polymer=11或没有。

或者

document.querySelector("#eow-description").innerText

注意:最后一个querySelector对我有用的旧设计。我建议您使用第一个选项,但querySelector以防万一。


1添加disable_polymer=1URL 作为加载 YouTube设计的参数。


推荐阅读