youtube-dl是一个Python脚本,允许下载YouTube视频。它支持批量下载选项:
-a FILE, --batch-file=FILE包含要下载的URL的文件(“-”表示stdin)
我想设置某种队列,这样我就可以简单地将URL附加到文件中,并让youtube-dl处理它们。当前,它不会从批处理文件中删除文件。我看到了“-”的选项,不知道我是否可以利用它来占便宜。
实际上,我希望将youtube-dl作为某种形式的守护进程运行,它将检查队列文件并下载包含的文件名。
我该怎么做?
发布于 2010-09-03 05:40:45
因为脚本一次读取所有输入,尾巴-f将无法工作。
如果您修改脚本以执行批处理文件的连续读取,它将工作。
然后简单地按以下方式运行脚本:
% ./youtube-dl -a batch.txt -c当您将一些数据附加到batch.txt中时,例如:
% echo "http://www.youtube.com/watch?v=j9SgDoypXcI" >>batch.txt脚本将开始下载附加的视频到批处理。
这是您应该应用于最新版本的“youtube-dl”的修补程序:
2278,2286d2277
< while True:
< batchurls = batchfd.readlines()
< if not batchurls:
< time.sleep(1)
< continue
< batchurls = [x.strip() for x in batchurls]
< batchurls = [x for x in batchurls if len(x) > 0]
< for bb in batchurls:
< retcode = fd.download([bb])希望能帮上忙,看视频快乐;)
注意:由于代码重组,此修补程序将不再工作。将有兴趣看看这是否可以添加到上游代码。
发布于 2010-09-03 03:50:32
您可以通过使用tail -f从您的文件中读取数据而不受影响。当它到达文件结束时,它不会退出,而是会等待更多的数据被附加到文件中。
>video.queue # erase and/or create queue file
tail -f video.queue | youtube-dl -a -由于tail -f不退出,所以youtube-dl应该继续从stdin读取文件名,并且永远不要退出。
https://stackoverflow.com/questions/3632919
复制相似问题