我就是有点钻牛角尖,才有了这些,但觉得这么折腾一趟,也学到和复习蛮多。
事情是这样的:
1、我要从*网站下载学习视频,于是上阿里云租用一个月香港服务器,选择配置时,发现windows server比linux贵那么几十块钱,果断选择ubuntu,省钱是王道,毕竟是拿来玩的。
2、需求很简单,就是下载视频,然后从服务器下载到本地。本人是linux小白啊,空有一脑子命令的记忆,这是头回实战。
3、首先,我需要可视化界面,以便更便捷地判断自己的操作是否正确,而阿里云给装的ubuntu不带桌面,得自己装桌面,大家说gnome好,我就装了gnome。
https://www.cnblogs.com/fanyann/p/15346048.html
4、装了桌面,我看不到啊!怎么从windows远程看到linux的桌面,于是了解到xrdp。原来和windows远程访问windows桌面的使用是一样的。
https://www.cnblogs.com/fanyann/p/15346081.html
5、好了,愉快看到ubuntu的桌面了,我买的配置不高,使用起来,桌面反应卡顿。在youtube找到了需要的视频资源,好几百个视频。我用的浏览器是firefox,firefox有很多插件可即时下载youtube视频,但得一个个手动点击下载,不能忍!于是找到youtube-dl,好工具,助我几百个视频一条命令即可开始下载,还能根据playlist自动分文件夹存储。
https://www.cnblogs.com/fanyann/p/15346093.html
6、下载完了,接下来就是把视频从服务器下载到本地,下载了xshell来帮我,ctrl+c(v)也很好用,但是,我真正认真开始钻牛角了,我不!我就不!2天我愣是不下载到本地,想着怎么作好呢!想到服务器流量一个月有3000GB呢,要怎么浪费好呢!
7、于是我决定让我的服务器真正意义上成为服务器,http呀!这样才能愉快浪费流量啊!
8、我以前是从事.net开发的,于是想到了IIS,那到了linux上,当然就是asp.net core啦。
https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-ubuntu
9、我又想,nginx怎么能不练练呢,我只是2017年时用过一次,再也没碰过,不行!必须记起来!于是我认真看了nginx官方文档的基础部分。
10、因为目前只需要进行静态资源的下载,所以,只使用了nginx作为静态资源下载支持,asp.net core没有用到,以后再做asp.net core的分享,实战谈技术感觉更有意思。
11、服务器准备好了,视频们翘首以盼,等待着被我下载,奔走相告 “ 那个傻逼终于要开始下载了!!!”
12、哎!我对不起视频父老相亲们啊!我还没纠结完呢!这也是批量下载的过程,把所有视频地址拷贝到迅雷上帮忙下载?不,我不,我要钻牛角。
13、我郑重决定批量下载的工作由aria2负责,aria2是一个很好的批量下载工具,是我前一个主管带我认识的。aria2支持HTTP(s)、FTP、SFTP、BitTorrent、Metalink。我很认真重看了它的http部分。
14、最后一步,我的视频是分文件夹的,这不能我自己手动创建文件夹吧!我是程序员欸!于是我使用shell生成dos,dos帮忙在本地创建文件夹,并且调用aria2将视频下载并放到指定文件夹中。
aria2c -l 日志地址 -d 视频存放文件夹路径 视频http地址
更多内容可以参考aria2官方说明书
https://aria2.github.io/manual/en/html/aria2c.html
15、bat运行时遇到一个编码问题,我要原样保留文件夹名称和视频名称,都是繁体字,是湾湾的视频。我的download.bat编码格式为Big5,即中文繁体,为保证cmd窗口的编码格式与download.bat的保持一致,需要在download.bat首行添加chcp 950,download.bat开始执行后,开启的cmd窗口编码格式就被更改为Big5了,是临时更改,只对当前窗口有效。可以参考下文,有更多语言选择。
https://blog.csdn.net/Yelbosh/article/details/7518484
16、关于aria2的部分以后再另起一篇作分享。有了它,我从linux下载资源感觉更便捷了,http是个好东西。我这里的话,并没有申请域名,直接用的ip访问。
17、至此,作完。