Ubuntu 18.04。我想使用 youtube-dl 获取视频名称列表及其上传日期(扩展名无关紧要),但不下载视频。有命令可以做到这一点吗?
答案1
打开终端并输入:
sudo apt install jq # command-line JSON processor
cd Desktop/
youtube-dl -j --flat-playlist "https://<yourYoutubePlaylist>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > result.txt
示例命令:
youtube-dl -j --flat-playlist "https://www.youtube.com/watch?v=iwhuPxJ0dig&list=PLei96ZX_m9sU3dLM2I5LKcqXeqth-GTe6" | jq -r '.id' | sed 's_^_https://youtu.be/_' > result.txt
result.txt 中示例命令的结果如下所示。遗憾的是,-j
( --dump-json
) 选项不会返回有关视频上传日期的数据,但它可以返回视频的标题。另一个不错的功能是视频不必全部位于同一个播放列表中。同一命令还可以返回同一频道或用户网页上所有视频的 URL。
https://youtu.be/iwhuPxJ0dig
https://youtu.be/ArDT5NsROMk
解释:
-j,--转储-json 模拟,安静但打印 JSON 信息。请参阅“输出 TEMPLATE”获取可用键的描述。 --flat-播放列表 不要提取播放列表中的视频,仅列出它们。
jq
就像 sed 用于 JSON 数据一样——您可以使用它来切片、过滤、映射和转换结构化数据,就像 sed、awk、grep 和朋友让您处理文本一样轻松。