Byby是一个百度云网盘的Python客户端,可在Linux环境下通过命令行来操作。
在本文的操作环境下,安装byby需要更多的步骤,byby官网没有介绍那么详细,所以我参考了其他网友的教程。
# 安装Git
yum install git
# 安装Python Pip
yum -y install epel-release
yum -y install python-pip
yum clean all
说明:先装扩展源EPEL再装Python Pip才不会报错。
# 安装Requests
pip install requests
完成以上步骤后,才开始正式安装bypy。
依次执行以下三行命令:
git clone https://github.com/houtianze/bypy byby/
cd byby/
python bypy.py list
此时的命令行界面会出现提示,按照以下步骤来授权你的百度云账号使用bypy客户端:
左键选中用于百度账号授权的那行URL,即可复制该文本(在Putty中选中即可复制,不用Ctrl+C),在浏览器中打开此链接。
登录你的百度账号,然后复制授权码。
回到Putty命令行界面,粘贴授权码进去,回车即可开始启动授权操作。
稍等几秒,授权即可成功。
为了方便在任意目录下使用bypy命令,还需要设置如下:
cd /byby
cp bypy.py /usr/bin
完成以上设置后,如果要将VPS某个文件夹下的所有文件上传到百度云,最简单的命令如下:
bypy.py upload
还可以加参数,如 -v 可以显示上传进度:
bypy.py upload -v
默认情况下,本方案上传到百度云的文件全部存放在“我的应用数据 --> bypy”路径下。
4 下载与上传视频
在Putty命令行界面中创建一个专门的目录用于存放下载的视频文件,然后CD至此目录下,创建一个包含所有下载链接的txt文件(使用vi命令即可)。在此目录下,执行下载命令:
youtube-dl -c -i -a video_url.txt
呃,眼尖的你可能已经发现了,上面这条命令好像多出了两个参数?没错,youtube-dl提供了很多有用的附加参数,这里用到的是:
-c 断点续传(如果由于意外原因下载中断了,再次启动下载命令时,可以实现断点续传)
-i 忽略报错(如果出现某些链接无法打开或者下载的问题,会自动绕过,继续下载其他视频)
下载的话一般很快,但是上传到百度云并没有那么快。为了防止关闭Putty窗口后,下载/上传进程就断掉了,可以考虑使用Screen远程会话管理功能。简单介绍就是,有了这玩意儿,你可以在Putty中启动下载或者上传进程,让其在后台运行,然后关掉Putty离开电脑旁该干啥干啥去,有需要的话回来重新打开窗口就可以看到进程依然在跑。
要检查操作系统是否支持screen,可以直接输入screen然后回车,如果提示找不到这个命令,那就是系统还没安装好这个东西。在CentOS 7中安装screen很简单,一条命令而已:
yum install screen
安装完毕后,输入 screen -S sessionname 即可创建一个名为 sessionname 的screen会话窗口。在此窗口中执行想要做的任务,然后同时按下 ctrl + a,松开后按下 d,即可将此session放到后台去运行,并回到之前的对话窗口。在非screen对话窗口中,输入 screen -ls 可以列举已有的screen进程。输入 “screen -r 进程代码” 就可以再次调出正在运行的screen进程。
由于我要上传到百度云的文件太多了,我不可能守在电脑前等它完成所有任务,所以screen这个功能还是非常实用的。
本文主要参考链接:
https://github.com/rg3/youtube-dl/
https://github.com/houtianze/bypy
http://yesido.info/2015/03/linux-upload-document-to-baidu-cloud/
转载于:https://my.oschina.net/sharesuiyue/blog/1592828