我正在使用这些apis https://developers.google.com/youtube/ 并且我无法弄清楚如果给出一个YouTube频道地址,获取带有相关信息的视频列表(至少是单个视频网址和标题)
答案 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,则此方法特别有用:
https://www.googleapis.com/youtube/v3/channels?id={channel Id}&key={API key}&part=contentDetails
(基于 https://www.youtube.com/watch?v=RjUlmco7v2M)pip3 install --upgrade youtube-dl
或 sudo apt-get install 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)