youtube - YouTube mix 的正确 URL 格式,用于抓取视频的特定 URL

标签 youtube

我在 YouTube 播放列表上看到过两种类型的 URL。第一个是这样的: https://www.youtube.com/playlist?list=PLCB9F975ECF01953C

当您单击“全部播放”按钮时,URL 播放列表将更改为: https://www.youtube.com/watch?v=otm9NaT9OWU&list=PLCB9F975ECF01953C

大多数 URL 抓取器都适用于第一种类型的 URL。例如我可以使用 this one以下方式:

./playlist2links.sh PLCB9F975ECF01953C

现在我有播放列表(实际上它是一个 YouTube 混合而不是播放列表),其 URL 如下所示:

https://www.youtube.com/watch?v=UiInBOVHpO8&list=RDQ23sJ-emqds&index=27

如何将此 URL 转换为正确的格式?我尝试过以下操作,但都给出了错误:

https://www.youtube.com/playlist?list=RDQ23sJ-emqds&index=27
https://www.youtube.com/playlist?list=RDQ23sJ-emqds

编辑: 我也尝试过以下操作:

┌─[wakatana@~/yt] [12 files, 60Kb]
└──> youtube-dl --version
2015.11.01

┌─[wakatana@~/yt] [12 files, 60Kb]
└──> youtube-dl -v -s https://www.youtube.com/watch?v=UiInBOVHpO8&list=RDQ23sJ-emqds&index=27
[1] 5872
[2] 5873
[2]+  Done                    list=RDQ23sJ-emqds

┌─[wakatana@~/yt] [12 files, 60Kb]
└──> [debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v', u'-s', u'https://www.youtube.com/watch?v=UiInBOVHpO8']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.07.28
[debug] Python version 2.7.10 - Linux-3.16.0-4-amd64-x86_64-with-debian-stretch-sid
[debug] exe versions: avconv 11.4-6, avprobe 11.4-6, ffmpeg 0.8.17-6
[debug] Proxy map: {}
[youtube] UiInBOVHpO8: Downloading webpage
[youtube] UiInBOVHpO8: Downloading video info webpage
[youtube] UiInBOVHpO8: Extracting video information
[youtube] UiInBOVHpO8: Downloading DASH manifest
[youtube] UiInBOVHpO8: Downloading DASH manifest

[1]+  Done                    youtube-dl -v -s https://www.youtube.com/watch?v=UiInBOVHpO8

部分起作用的一个选项是显示给定页面的源代码并简单地搜索包含data-video-title模式的行。在同一行上还有视频 data-video-id,它允许重建给定的视频 URL。问题是 youtube-mix 是动态生成的,这不适用于播放列表中最新的几个视频(那些灰色的视频),另一个问题是这不起作用,例如用wget不知道为什么。

最佳答案

https://www.youtube.com/watch?v=UiInBOVHpO8&list=RDQ23sJ-emqds&index=27 是“youtube-mix”,而不是某人手动创建的列表。

Youtube-dl正确检测列表 URL,您可能需要查看其代码以了解它如何检测播放列表 URL。

请注意,它有一个选项 --get-id 可以直接返回视频 ID,它可以作为 playlist2links.sh 的替代品来解决您的问题。

关于youtube - YouTube mix 的正确 URL 格式,用于抓取视频的特定 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33474098/

相关文章:

api - 使用onYouTubeIframeAPIReady()加载两个YouTube视频

mysql - Youtube API : Get subscribers counts of a million channels

objective-c - 如何使用访问 token 在Objective-C中使用gdata将视频上传到youtube

youtube - 返回即将推出的 YouTube API V3 视频安排日期?

asp.net - Silverlight API中的YouTube

php - 允许用户检查嵌入式YouTube视频中的起点和终点

java - Jsoup 检索 YouTube 标题

youtube - YouTube Storyboard脚本-更大的缩略图?

asp.net - 使用代理ASP.NET更改YouTube URL

reactjs - 无法嵌入播放YouTube视频