我正在使用这些 api https://developers.google.com/youtube/ 并且我不知道如何在给定 youtube 频道地址的情况下获取包含相关信息的视频列表(至少单个视频 url 和标题)
问问题
12731 次
3 回答
6
我知道这不再相关,但对于 2020 年的任何人来说,你需要一个 youtube v3 api 密钥
你可以使用的是
您可以删除片段,它不会提供所有视频的名称和其他信息。ID 给出了视频 id
向 URL 发送获取请求
于 2020-01-21T18:03:10.387 回答
4
这有点令人费解,但可以相对轻松地完成。诀窍在于知道频道实际上只是特定用户上传的视频列表。因此,如果您说您有一个 youtube 频道地址,则该地址采用以下形式:
http://www.youtube.com/user/[username]
然后您可以使用用户上传的提要获取视频:
https://gdata.youtube.com/feeds/api/users/[username]/uploads
作为旁注,如果您使用提要:
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
于 2012-11-08T07:49:26.777 回答
3
如果 a) 频道有超过 50 个视频,或者 b) 希望 youtube 视频 id 格式为平面 txt 列表,则此方法特别有用:
- 获取 Youtube API v3 密钥(参见https://stackoverflow.com/a/65440324/2585501)
- 获取频道的Youtube频道ID(见https://stackoverflow.com/a/16326307/2585501)
- 获取频道的 Uploads Playlist 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/youtube-dl-how-download-only-the-playlist-not-the-files-therein)
于 2020-12-24T15:48:26.270 回答