如果你有一台带宽过得去的服务器,同时又有大量不急用的百度网盘资源需要下载,可以尝试此方法实现类似离线下载
省流版
- 服务器用BaiduPCS-Go后台下载资源;
- 用scp从服务器传输文件到本地。
保姆版
1. 安装BaiduPCS-Go
BaiduPCS-Go是一款开源的百度网盘命令行工具,支持windows、linux、macOS、移动设备。
以x86_64架构的Linux服务器为例,安装非常简单
-
下载BaiduPCS-Go预编译文件
cd ~/download wget https://github.com/qjfoidnh/BaiduPCS-Go/releases/download/v4.0.0/BaiduPCS-Go-v4.0.0-linux-amd64.zip -
解压
sudo apt install unzip -y # 安装解压工具,已安装的话可跳过 unzip BaiduPCS-Go-v4.0.0-linux-amd64.zip -
赋予执行权限
cd BaiduPCS-Go-v4.0.0-linux-amd64 # 进入解压出的文件夹 chmod +x BaiduPCS-Go -
移入系统路径
sudo mv BaiduPCS-Go /usr/local/bin/ -
验证安装
BaiduPCS-Go -v此时应当显示:
BaiduPCS-Go version v4.0.0说明安装成功
2. 登录与配置
登陆方式推荐使用百度 BDUSS 和 百度网盘 STOKEN。
之后在服务器命令行输入
BaiduPCS-Go login -bduss=你的BDUSS -stoken=你的STOKEN
在系统命令行输入BaiduPCS-Go进入软件内命令行,然后输入以下指令设置下载的本地目录:
config set savedir "你的目录"
鉴于使用此方法下载资源的大部分是非会员,所以建议进行如下配置以避免限速。
-
设置同时下载的文件数为1
config set -max_download_load 1 -
设置单个文件的分片并发数为1
config set -max_parallel 1
3. 下载文件/文件夹
登录之后,可用类似unix的文件浏览指令查看网盘内文件,例如cd, ls, pwd。
确定需要下载的文件后,输入
download 文件路径
即可开始下载
4. 设置后台下载
在系统命令行中用nohup指令实现后台下载,关闭窗口不打断:
nohup BaiduPCS-Go d /你的/网盘/文件路径 -L > download.log 2>&1 &
下载日志将会保存到当前目录的download.log文件中,若需要查看实时下载情况,输入
tail -f ./download.log
5. 从服务器传输到本地PC(若需要)
在本地PC命令行中输入如下指令:
scp -P 服务器的ssh端口 -i 本地私钥路径 -r 用户名@服务器IP地址:服务器文件路径 本地保存路径
例如
scp -P 22 -i C:\Users\winUser\.ssh\id_rsa -r root@192.168.0.122:/root/download/movie.mp4 ./
总结
BaiduPCS-Go在服务器中的下载速度取决于百度网盘对我们免费用户的施舍(即取决于百度的良心),
scp传输的速率取决于服务器到本地PC的带宽(此带宽通常远大于百度的良心)。
这个方法不比直接用本地PC下载得更快,好处在于不用本地PC一直开机挂着百度网盘下载。