我正在使用这些API https://developers.google.com/youtube/而且我无法弄清楚如何给定一个YouTube频道地址,以相关Infos(至少单个视频URL和标题)获取视频列表
我知道这不再相关,但是对于2020年的任何人,您都需要YouTube V3 API键
您可以使用的是
https://www.googleapis.com/youtube/v3/search?key= [api_key]& clinansid = [channel_id]
您可以删除片段,并且不会提供所有视频的名称和其他信息。ID给出视频ID
将GET请求发送到URL
这有点令人费解,但可以相对痛苦地完成。诀窍在于知道频道实际上只是特定用户上传的视频列表。因此,如果您说您有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]
您将获得有关用户的额外信息,包括一系列为您提供各种供稿链接的元素(其中一个是我上面提到的上传供稿),其中还包含诸如视频数量等信息。<<
如果您的频道URL处于形式:
https://www.youtube.com/channel/UC[userid]
请注意,这种URL始终从UC开始,然后是一个长字符串。在这种情况下,只需丢弃UC,然后访问此提要:
https://gdata.youtube.com/feeds/api/users/[userid]/uploads
如果a)频道具有50多个视频,或者b)desir youtube视频ID在平坦的TXT列表中格式化:
- 获取YouTube API V3密钥(请参阅https://stackoverflow.com/a/65440324/2585501)
- 获取频道的YouTube频道ID(请参阅https://stackoverflow.com/a/16326307/2585501)
- 获得频道的上传播放列表ID:
https://www.googleapis.com/youtube/v3/channels?id={channel Id}&key={API key}&part=contentDetails
(基于https://www.youtube.com/watch?v=rjulmco7v2m) - 安装YouTube-DL(例如
pip3 install --upgrade youtube-dl
或sudo apt-get install youtube-dl
) - 使用youtube-dl:
youtube-dl -j --flat-playlist "https://<yourYoutubePlaylist>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > videoList.txt
下载上传播放列表(请参阅https://superuser.com/questions/1341684/1341684/youtube-dl-how-how-now-download-therload-the-playlist-the-playlist-not-not-the-files-files-files-therein)