python - 如何使用 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
我想反向跟踪视频顺序,因为下周可能有 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
让我知道它是否有效并做你想要的。
推荐阅读
- openstack - cinder 将公共端点重定向到 http
- c# - 如何在一个for循环中将矩阵放入数组中?
- sql-server - Sql server-加入临时表不返回正确的值
- node.js - 如何使用 webpack 渲染 .ejs 文件?
- r - 如何修复绘图类型以保留类型散布的设置配色方案?
- javascript - 保存一个使用 JS 和 PHP 到 MySQL - 可能吗?
- java - 我可以在这个正则表达式中添加什么以使其也通过 Java 中的下划线分隔字符串?
- php - 在 wordpress 中翻译文本
- ansible - Ansible 从多个 Json 文件中访问相同的变量
- php - Wordpress:警告:urlencode() 期望参数 1 是字符串,数组在 wp-includes/formatting.php 的第 4791 行