【发布时间】:2012-02-13 20:13:57
【问题描述】:
我正在尝试编写一个 bash 脚本,该脚本将从播放列表中下载所有 youtube 视频,并根据 youtube 视频本身的标题将它们保存到特定的文件名。到目前为止,我有两段独立的代码可以执行我想要的操作,但我不知道如何将它们组合在一起以作为一个单元运行。
这段代码查找给定页面上所有 youtube 视频的标题:
curl -s "$1" | grep '<span class="title video-title "' | cut -d\> -f2 | cut -d\< -f1
这段代码将文件下载到 youtube 视频 ID 给出的文件名(例如 youtube.com/watch?v=CsBVaJelurE&feature=relmfu 给出的文件名将是 CsBVaJelurE.flv )
curl -s "$1" | grep "watch?" | cut -d\" -f4| while read video;
do youtube-dl "http://www.youtube.com$video";
done
我想要一个脚本,它将 youtube .flv 文件输出为由视频标题(在本例中为 BASH 第 2.flv 课)给出的文件名,而不是简单的视频 ID 名称。提前感谢所有帮助。
【问题讨论】:
-
这是目前最好的 Youtube 下载脚本:bitbucket.org/rg3/youtube-dl/wiki/Home 由于所有这些脚本都依赖于抓取页面,因此它需要在网站结构上保持最新。它可以在文件名中包含视频标题。
-
好打电话给 Niklas 分发脚本的 dl 链接;这是一个包含更多信息、文档和开发人员数据的专用链接:rg3.github.com/youtube-dl。人们绝对应该下载,这是一个很棒的脚本
-
显然我不是唯一一个有这个想法的人github.com/ArielAleksandrus/PlaylistDownloader
标签: bash shell download cut youtube-dl