ntr*_*r42 3 python youtube youtube-dl
有一个包含 3012 个视频的播放列表。我想下载这个播放列表的前 100 个视频,实际上是最近的 100 个视频,所以我想%(playlist_index)s从 3012 到 2913 开始,而不是从 1 到 100。
我现在所拥有的只是一个基本的 shell 脚本:
youtube-dl --yes-playlist "www.youtube.com/playlist?list=3xAMpLe_iD" -o "%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s" --download-archive archive.txt
Run Code Online (Sandbox Code Playgroud)
我想反向跟踪视频顺序,因为下周可能会有 4 个新视频,那么当我下载这些视频时,编号应该是 3016 到 3013,因为它将来自同一个播放列表。
我没有使用 youtube-dl python 脚本的经验,但你可能会回答,就好像我了解基础知识一样。另外,如何获取同一脚本中--download-archive指定值的文件?%(playlist)s
有多种方法可以做到这一点。
首先解决你的反向问题:
有一个参数--playlist-reverse。
它将使用列表理解[::-1]来反转。然后,这将以相反的顺序下载文件。
但是,即使您使用%(playlist_index)s.
它可能会开始下载3012,但因为这应该是它将被存储的索引3012,但我还没有测试过。
因此您可能需要使用,%(autonumber)s因为它会根据队列顺序对您的曲目进行编号。请注意,它将从 1 开始编号。
为了避免这种情况,您可以指定起始编号--autonumber-start
现在解决第二个问题——从正确的点开始。
有--playlist-start。
但你必须明确告诉从哪里开始。就你而言3012。
有--playlist-end。
您必须再次准确指定它。就你而言2913。
最终,这--playlist-items可能就是您当时正在寻找的东西。
所以你的命令看起来像这样
youtube-dl --yes-playlist "www.youtube.com/playlist?list=3xAMpLe_iD" -o "%(playlist)s/%(autonumber)s - %(title)s.%(ext)s" --autonumber-start 3012 --playlist-items 100 --download-archive archive.txt
Run Code Online (Sandbox Code Playgroud)
让我知道它是否有效并执行您想要的操作。