Bypy 百度网盘

Post Cover

Bypy 百度网盘

Bypy 是一个百度云/百度网盘的 Python 客户端。主要的目的就是在 Linux 环境下(Windows 下也可用)通过命令行来使用百度云盘。

由于百度 PCS API 权限限制,程序只能存取百度云端 /apps/bypy 目录下面的文件和目录。

  • 应用方面对于自己的 PC 而言其实效果和直接使用百度网盘效果一样
  • 但是对于远程服务器而言,则可以使用 bypy 进行长时间传输和下载,直接将服务器和百度网盘相连
  • 但是注意:bypy 本身传输速度依旧是账号等级对应的速度

Aria2 加速下载

搜索到可以通过 aria2 第三方下载器加速下载(我没使用过,之后可以尝试)

安装 aria2

1
2
3
conda create -n aria2
conda activate aria2
conda install -c conda-forge aria2

Aria2 加速

使用参数 --downloader aria2 让 bypy 调用 aria2 下载
--downloader-arguments 设置 aria2 的参数,默认为 -c -k10M -x4 -s4 --file-allocation=none

1
2
3
4
5
bypy --downloader aria2 download <remotefile> [localpath]
bypy --downloader aria2 download [remotedir] [localdir]

# 修改参数使速度最大化
bypy --downloader aria2 --downloader-arguments='-c -k10M -x16 -s16 --file-allocation=none' download <remotefile> [localpath]

Bypy 使用

安装

安装需要有 Python 环境,安装 pip 后进行 bypy 的下载

1
pip install bypy

登录

安装成功之后命令行执行,进行登陆操作

该指令执行后会给出链接,ctrl+click 打开后会跳转到百度网盘的登录页面,登录成功后会返回一串字符,复制粘贴到命令行回车即可

1
bypy info

基本操作

想要详细了解 bypy 的某一个指令:

1
bypy help <command>

显示云盘列表:

1
bypy list

常用操作

1
2
3
4
5
6
7
8
9
10
# 下载
bypy download <remotefile> [localpath]
bypy syncdown

# 上传
bypy upload <localpath> <remotedir>
bypy syncup

# 比较本地目录和云盘目录
bypy compare

调试信息

  • 运行时添加 -v 参数,会显示进度详情。
  • 运行时添加 -d,会显示一些调试信息。
  • 运行时添加 -ddd,还会会显示 HTTP 通讯信息(警告:非常多)

参考资料

Bypy仓库

个人使用时遇到的问题

百度网盘下不存在 apps (即我的应用数据)该文件夹,一开始我在找该文件夹浪费了一些时间,尝试自己创建名为”我的应用数据”文件夹,很明显不对。

上网搜索解决,2019 年的一个帖子说,直接创建文件夹命名为 apps 即可,实际操作发现现在已经 2025 年了,该操作会导致百度网盘提示:apps 为关键字,无法创建。

最后想着不如直接上手 bypy 试试情况,在执行 bypy list 指令后,百度网盘自己会创建出 apps/bypy 文件夹,只用把需要上传到服务器的数据全部放在 apps/bypy 文件夹下,就可以直接使用 bypy 进行上传下载了。