从youtube频道获取视频列表

时间:2012-11-04 12:03:21

标签: java youtube-api youtube-channels

我正在使用这些apis https://developers.google.com/youtube/ 并且我无法弄清楚如果给出一个YouTube频道地址,获取带有相关信息的视频列表(至少是单个视频网址和标题)

3 个答案:

答案 0 :(得分:4)

这有点令人费解,但可以相对轻松地完成。诀窍在于知道频道实际上只是特定用户上传的视频列表。因此,如果您说自己拥有YouTube频道地址,则该地址采用以下形式:

http://www.youtube.com/user/[username]

然后,您可以使用用户上传Feed获取视频:

https://gdata.youtube.com/feeds/api/users/[username]/uploads

作为旁注,如果您使用Feed:

https://gdata.youtube.com/feeds/api/users/[username]

您将获得有关该用户的额外信息,包括一系列为您提供各种Feed链接的元素(其中一个是我上面提到的上传Feed),其中还包含视频数量等信息。 / p>

如果您的频道网址采用以下格式:

https://www.youtube.com/channel/UC[userid]

请注意,此类网址始终以UC开头,然后是长字符串。在这种情况下,只需删除UC,然后访问此Feed:

https://gdata.youtube.com/feeds/api/users/[userid]/uploads

答案 1 :(得分:3)

我知道这不再相关,但是对于2020年在这里的任何人,您都需要一个youtube v3 api密钥

您可以使用的是

https://www.googleapis.com/youtube/v3/search?key=[API KEY]&channelId = [CHANNEL ID]&part = snippet,id&order = date&maxResults = 50

您可以删除摘要,它不会提供所有视频的名称等,而ID则提供视频ID

向网址发送获取请求

答案 2 :(得分:2)

如果 a) 频道有 50 个以上的视频,或者 b) 想要在平面 txt 列表中格式化的 youtube 视频 ID,则此方法特别有用:

  1. 获取 Youtube API v3 密钥(请参阅 https://stackoverflow.com/a/65440324/2585501
  2. 获取频道的 Youtube 频道 ID(参见https://stackoverflow.com/a/16326307/2585501
  3. 获取频道的上传播放列表 ID:https://www.googleapis.com/youtube/v3/channels?id={channel Id}&key={API key}&part=contentDetails(基于 https://www.youtube.com/watch?v=RjUlmco7v2M
  4. 安装 youtube-dl(例如 pip3 install --upgrade youtube-dlsudo apt-get install youtube-dl
  5. 使用 youtube-dl 下载上传播放列表:youtube-dl -j --flat-playlist "https://<yourYoutubePlaylist>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > videoList.txt(参见 https://superuser.com/questions/1341684/youtube-dl-how-download-only-the-playlist-not-the-files-therein