如何获取 youtube 混合播放列表?
How to get youtube mix playlist?
使用Python 3,我能够得到一个播放列表和一个单独的视频,但我想得到每个用户的混合播放列表(public mix),因为每个用户都看到不同的组合。
我是否应该使用 google auth 对用户进行身份验证,然后像抓取普通播放列表一样抓取混音?如果是这样,如何使用 Youtube 的 API 请求发送授权令牌?我在文档中找不到与混合相关的任何内容。
混音是否有唯一的 URL,我可以使用它来获取它们而无需身份验证?
我目前正在使用 Pafy,它是 Youtube API 的包装器,但该库和官方 API 都没有办法从 Youtube 的混音中获取信息,我的代码如下
def get_youtube_playlist(url):
playlist = pafy.get_playlist(url)
for item in playlist['items']:
return item['pafy'].title
适用于播放列表,不适用于混音。
我认为 YouTube API 没有检索混合播放列表所需的功能 (实际上我找不到任何相关信息) .
说到这里,我想分享一下我的发现:
假设您想要来自视频“Eminem - Lose Yourself (Explicit)”的混音。
这是视频的URL:
Eminem - Lose Yourself (Explicit)
https://www.youtube.com/watch?v=nPA2czkOsFE
如果想获取该视频的混音播放列表,可以修改URL如下:
Mix: Eminem - Lose Yourself (Explicit)
https://www.youtube.com/watch?v=nPA2czkOsFE&start_radio=1&list=RDnPA2czkOsFE
这些附加参数可在 YouTube 生成的混合播放列表中找到。
解释:
start_radio=1
:不知道,恕我直言,但如果有人能找到任何相关信息,请考虑编辑此问题并添加它。
list=RD
:恕我直言,此设置表明声明的 videoId
将用于生成混合播放列表 - 通过添加“RD”字母 + videoId
.
因此,如果您输入修改后的 URL,您将得到:Mix: Eminem - Lose Yourself (Explicit).
进行更多测试后,我还发现 start_radio=1
不需要使用给定视频“创建”混合播放列表。
换个例子,假设:Ludwig Van Beethoven's 5th Symphony in C Minor (Full):
这是URL:
Ludwig Van Beethoven's 5th Symphony in C Minor (Full)
https://www.youtube.com/watch?v=fOk8Tm815lE
在URL中进行修改后,结果为:
Mix: Ludwig Van Beethoven's 5th Symphony in C Minor (Full)
https://www.youtube.com/watch?v=fOk8Tm815lE&list=RDfOk8Tm815lE
N.B,在这种情况下,不需要 start_radio=1
,结果将是:Mix: Ludwig Van Beethoven's 5th Symphony in C Minor (Full)
旁注:我真的希望这个发现不会被删除。
使用Python 3,我能够得到一个播放列表和一个单独的视频,但我想得到每个用户的混合播放列表(public mix),因为每个用户都看到不同的组合。
我是否应该使用 google auth 对用户进行身份验证,然后像抓取普通播放列表一样抓取混音?如果是这样,如何使用 Youtube 的 API 请求发送授权令牌?我在文档中找不到与混合相关的任何内容。
混音是否有唯一的 URL,我可以使用它来获取它们而无需身份验证?
我目前正在使用 Pafy,它是 Youtube API 的包装器,但该库和官方 API 都没有办法从 Youtube 的混音中获取信息,我的代码如下
def get_youtube_playlist(url):
playlist = pafy.get_playlist(url)
for item in playlist['items']:
return item['pafy'].title
适用于播放列表,不适用于混音。
我认为 YouTube API 没有检索混合播放列表所需的功能 (实际上我找不到任何相关信息) .
说到这里,我想分享一下我的发现:
假设您想要来自视频“Eminem - Lose Yourself (Explicit)”的混音。
这是视频的URL:
Eminem - Lose Yourself (Explicit)
https://www.youtube.com/watch?v=nPA2czkOsFE
如果想获取该视频的混音播放列表,可以修改URL如下:
Mix: Eminem - Lose Yourself (Explicit)
https://www.youtube.com/watch?v=nPA2czkOsFE&start_radio=1&list=RDnPA2czkOsFE
这些附加参数可在 YouTube 生成的混合播放列表中找到。
解释:
start_radio=1
:不知道,恕我直言,但如果有人能找到任何相关信息,请考虑编辑此问题并添加它。list=RD
:恕我直言,此设置表明声明的videoId
将用于生成混合播放列表 - 通过添加“RD”字母 +videoId
.
因此,如果您输入修改后的 URL,您将得到:Mix: Eminem - Lose Yourself (Explicit).
进行更多测试后,我还发现 start_radio=1
不需要使用给定视频“创建”混合播放列表。
换个例子,假设:Ludwig Van Beethoven's 5th Symphony in C Minor (Full):
这是URL:
Ludwig Van Beethoven's 5th Symphony in C Minor (Full)
https://www.youtube.com/watch?v=fOk8Tm815lE
在URL中进行修改后,结果为:
Mix: Ludwig Van Beethoven's 5th Symphony in C Minor (Full)
https://www.youtube.com/watch?v=fOk8Tm815lE&list=RDfOk8Tm815lE
N.B,在这种情况下,不需要 start_radio=1
,结果将是:Mix: Ludwig Van Beethoven's 5th Symphony in C Minor (Full)
旁注:我真的希望这个发现不会被删除。