我需要直接从用户的浏览器中获取视频描述(而不是标题),并且API提供的唯一法律是调用player.getVideoData()
,但其中不包含视频。
我尝试对https://www.youtube.com/get_video_info?video_id={video_id}
使用未记录的调用,但被CORS阻止。
我还发现API v3 videos/list的调用看起来像
https://www.googleapis.com/youtube/v3/videos?key=YOUR_API_KEY&part=snippet&id=VIDEO_ID
但是据我了解,这是针对服务器到服务器的调用,并且我不想在这里放置API密钥。
从我搜索过的内容来看,player.getVideoData()
返回了description
,但现在看起来好像坏了。
有什么办法可以直接从浏览器获取描述吗?
答案 0 :(得分:0)
您可以尝试使用document.querySelector
-阅读说明,例如:
document.querySelector("#description > yt-formatted-string").innerText
即使YouTube网站的URL参数中没有querySelector
1 ,该disable_polymer=1
还是对我有用。
或
document.querySelector("#eow-description").innerText
N.B:最后一个querySelector
为我工作时使用了旧设计。我建议您使用第一个选项,但是请保留此querySelector
以防万一。
1 在URL中添加disable_polymer=1
作为加载YouTube old 设计的参数。