通常下载百度网盘资源大型文件的时候,需要等待长时间。
利用云服务器挂起进程帮助下载,再转载至本地,可以帮助我们节约部分时间、安排其他活动。
本篇文章基于阿里云服务器(Linux),宝塔面板,python,bypy、aria2等工具解决问题
工具简介
bypy:是一个Python库和命令行工具,用于与百度云存储服务进行交互。它可以帮助用户在本地电脑和百度网盘之间无缝地传输文件。
aria2:是一款用于Linux的命令行多协议下载工具,它是一款免费、开源、轻量级的多协议和多源代码命令行下载应用程序。
Screen:是一个功能强大且灵活的终端窗口管理工具。它允许用户在其内部运行多个独立的会话,这些会话各自拥有编号、输入、输出和窗口缓存。只要Screen本身没有终止,用户就可以随时恢复这些会话。
安装python环境
参考文章《云服务器搭建jupyter notebook》步骤2.1,2.2
搭建环境
1. 搭建、进入虚拟环境
conda create -n baidu python=3.8
conda activate baidu
2. 配置环境
yum install -y screen 用于进程守护
yum install -y aria2 用于下载加速
pip install bypy 用于连接百度网盘
登录百度网盘
1. 输入bypy info 获取API链接授权
2. 点击跳转获取授权码,复制到终端
当显示 Successfully authorized 和网盘存储情况,即为成功
配置aria2
1. 配置aria2,可以使bypy下载最大化。bypy默认配置的aria2是使用4个连接数下载,修改成最大的16
echo 'export DOWNLOADER_ARGUMENTS="-c -k10M -x16 -s16 --file-allocation=none"'>/etc/profile.d/bypy.sh
source /etc/profile.d/bypy.sh
2. 检查是否配置成功
echo $DOWNLOADER_ARGUMENTS
bypy常用命令
bypy默认文件夹为 /我的应用数据/bypy 下,因此只能在此处进行上传与下载。
#不使用aria2下载
bypy list # 查看文件夹内容
bypy upload [本地文件地址] [目的地址] # 上传文件
bypy downfile [百度网盘文件路径] [目的路径] # 下载文件
bypy downdir [百度网盘目录] [目的路径] # 下载文件夹
bypy -h # 帮助
#使用aria2下载
bypy --downloader aria2 download [百度网盘文件路径/百度网盘目录] [目的路径]
Screen挂机下载
不使用Screen的话,关闭终端将会导致下载中断,也就达不到挂机下载。
因此只需要在上述下载步骤之前,加几个步骤即可。
1. 创建screen实例
> screen -S test # 名字随意
2. 执行代码和下载任务等操作,例如
> bypy list
> cd dowloadpath/ISO
> bypy --downloader aria2 download macOS.iso
3. 断开连接或关闭终端界面
4. 打开新连接或新终端界面,查看所有screen
> screen -ls
There is a screen on:
12345.test (Detached)
1 Socket in /***/***/***.
5. 返回进入保存的screen
screen -r 12345 或者 screen -r test
在screen中直接输入exit,可以直接退出当前screen
6. 删除某个screen
screen -X -S 12345 quit