Posted by novicepq on

使用youtube-dl对视频进行批量下载

前一篇讲了youtube-dl在vps上的安装及简单操作方法,但该方法其实只相当于一个开着的浏览器,浏览器关掉后,下载也就停掉了。这一篇主要涉及怎么利用youtube-dl对爱情动作片进行批量下载,并让下载在我们离线的时候也一直进行。

这里面会用到screen、文档编辑等操作。

准备工作:安装screen(如果第一次使用)
使用下面代码安装screen,Debian下使用apt-get,Centos下使用yum:
apt-get install screen -y

方法一:直接贴网址

使用screen命令开一个session,命名该session,比如就叫video:
screen -S video
注意S要大写,这时SSH终端会把你带到一个空窗口。

然后使用语法youtube-dl 链接1 链接2 链接3 … … 就能进行批量下载了,代码:
youtube-dl https://www.pornhub.com/view_video.php?viewkey=1763364088 https://www.pornhub.com/view_video.php?viewkey=1164813484 https://www.pornhub.com/view_video.php?viewkey=ph565707fb861b7
有多少链接就贴多少链接。

方法二:将链接全部保存到一个txt文件里,一行一个
这种方法的好处是,SSH不是随时都能用,碰到好的视频可以先把它保存下来,然后回到家里利用FTP上传到需要下载的目录。不过下面讲的是现场在SSH里制作txt文件。

首先使用cd命令去到你打算使用的下载文件夹。本例中使用的文件夹名为Downloads。

使用vi,vim,或者nano命令新建一个txt或bat文件,这里取名download.txt/download.bat,后者是一个批处理文件格式,将你打算下载的爱情动作片网页链接保存在该txt文件里,一行一个网址,文件保存在Downloads文件夹下面。

使用以下命令去到该文件夹里面:
cd ./Downloads

使用screen命令开一个session,然后贴下面的代码:
youtube-dl -ci --batch-file=download.txt
-ci 可有可无,= 可有可无

这时vps就开始下载了,贴张图,是我正在下载的小电影:

接下来我们可以退出这个session,让它安静的在后台跑着,我们可以去做其他事了,或者就可以直接关掉SSH。

退出session使用快捷键ctr+a, d或者ctr+a,ctr+d,~~注意快捷键需要在英文输入环境下,不能在中文输入法下,即便现在的中文输入法在shift操作下会转换为英文输入也不可以。~~退出session叫detach session。从下面的截图我们甚至可以看出,虽然我们给这个session取名video,但screen会分配一串数字给这个session,然后在screen里它的全名就是62718.video

使用以下命令可以再进去该session,查看下载进程,速度不是很快,所以很适合离线下载:
screen -r video

下载完后,我们可以使用如下代码将该session给删掉,如果不删的话,这个session会一直保存在vps里,如果下次再开一个screen,使用同样一个名字,等我们再打算进去的时候,screen就不知道你打算进哪个video session了,它会把所有取名video的session都给列出来,所以为了方便起见,最好下载好后还是把进程给杀掉。这里我把这个取名叫video的session给删掉:
screen -S video -X kill
或者
screen -S video -X quit
或者进入某个session后,按ctr+a,再按:quit
至于quit和kill两者有何区别,暂时还在研究中。。。

如果我们不慎没有把session删掉,然后开了好几个session,可以使用下面代码来列出目前的session清单:
screen -ls

然后就可以使用上面讲到的操作把某个session给删掉了。或者删掉全部的session:
pkill screen or
killall screen

如果session都已死的话,可以使用:
screen -wipe

下载完后,我们可以用FTP软件把下载的小电影全部保存到本地硬盘里。

最后养成良好的打扫卫生习惯,将保存好的小电影全部删掉,节省vps硬盘空间。我们可以在FTP里删除,但如果文件太多的话,速度会非常慢。这时可以使用如下代码来进行文件删除:
首先用cd命令进入Downloads文件夹,然后:
rm *.mp4 -f

以上通配符将任何媒体格式是MP4的文件删掉,当然我们可以使用字母和结合的方式来删除特定的文件。

以下代码会将Downloads文件夹下的所有文件全部删掉:
rm *.*

以上。


Comment ( 1 )

  1. youtube-dl结合aria2实现多线程下载,提高下载速度 – Novice PQ – My Very Unindexed Life
    […] youtube-dl是一个很棒的远程下载工具,前面已经讲过如何用它进行离线下载和批量下载视频,但我们发现youtube-dl下载速度很慢,这时候我们可以通过让它调用linux下的多线程下载工具aria2实现多线程加速下载。所谓多线程就是下载速度像迅雷那样快。 […]

Leave a Reply