原创

使用开源百度网盘Python客户端bypy管理网盘文件

前段时间登录百度网盘,突然发现之前保存的各种文档,林林总总算下来有将近300G,正好服务器磁盘还有空闲,就想着将文档下载下来,自己搭建一个文件服务器来进行管理(搭建文件服务器可以参考:使用zfile开源软件搭建在线网盘文件服务器)。

但是服务器上怎么下载百度网盘里的文件呢?于是在网络上搜了一下,发现有一款可以在linux命令行下使用的百度网盘python客户端bypy,简单记录一下bypy的使用过程。

一、下载安装软件

首先需要安装软件,有两种安装方式

1.直接下载软件包:

bypy软件包github地址:https://github.com/houtianze/bypy

进入github地址,点击进入Releases/tag选择版本,本次使用的是1.8.5版本,因为是linux系统,所以下载tar.gz源码就可以。

下载后文件名为bypy-1.8.5.tar.gz,下载完成后上传到服务器上解压:

tar -zxvf bypy-1.8.5.tar.gz

通过python命令执行setup.py安装:

python setup.py install

报错了,可能有依赖需要,python版本3.8以上,我们换python3命令执行安装脚本(python3环境搭建参考:Linux服务器python3环境搭建说明):

python3 setup.py install

缺少requests包,通过pip3安装:

pip3 install requests

然后后重新执行python3安装命令,安装完成后执行bypy看是否能使用:

可以看到还是有报错,因为默认的python解释器是python2.7,所以我们需要通过python3的-m参数来指定解释器执行:

python3 -m bypy

这样就可以执行成功了。

注:如果希望可以直接使用bypy命令,可以通过alias bypy='python3 -m bypy'设置别名。

2.通过pip命令安装

可以看到通过源码安装解决依赖还是比较麻烦,我们可以直接使用pip来安装bypy:

pip install bypy

可能是pip版本的问题,还是提示安装失败,直接用pip3安装:

pip3 install bypy

安装成功,执行bypy查看命令使用说明:

二、授权登录

bypy客户端使用的时候需要登录百度网盘授权,安装完成后执行任意命令即开始授权过程,比如:

bypy info

复制提示中的地址进浏览器,输入账号密码后登录授权:

授权成功后会进入授权码页面:


将授权码复制到shell窗口中回车就完成了。


授权成功后会在当前用户家目录下生成.bypy文件夹,后续就不需要再次授权了,如果需要更换账号,只需要删除此文件夹就可以重新授权。

三、bypy客户端使用

bypy使用的是百度网盘的api,授权之后会在“我的应用数据”的文件夹下面一个bypy的文件夹,也就是/apps/bypy/,数据操作都是在该文件夹内。

1.显示网盘中的文件

显示根目录(/apps/bypy)下文件

bypy list

显示根目录下某个文件夹名称,如显示(/apps/bypy/soft)文件夹中文件

bypy list soft

2.下载网盘文件到本地

下载网盘所有文件到本地当前文件夹(会递归所目录)

bypy download

下载网盘中指定文件到本地当前文件夹,如下载网盘/app/bypy/ssq.xlsx

bypy download ssq.xlsx

下载网盘中指定文件到本地指定文件夹,如下载网盘/app/bypy/ssq.xlsx到本地test文件夹

bypy download ssq.xlsx test/

下载网盘中指定目录到本地指定文件夹,如下载网盘/app/bypy/soft文件夹到本地test文件夹

bypy download soft test/

3.上传本地文件到网盘

上传当前目录所有文件到网盘(会递归所有目录)

bypy upload

上传指定文件到网盘指定目录,如上传ssq.xlsx到网盘soft文件夹

bypy upload ssq.xlsx soft

4.比较当前目录和云盘目录

比较当前文件夹与网盘根目录文件差异

bypy compare

比较指定文件夹与网盘指定目录差异,如本地test文件夹与远程soft文件夹比较

bypy compare soft test

5.其他命令

复制文件,将百度网盘根目录中ssq.xlsx复制到soft文件夹中

bypy copy ssq.xlsx soft/ssq.xlsx 

移动文件,将百度网盘根目录中ssq.xlsx移动到soft文件夹中

bypy move ssq.xlsx soft/ssq.xlsx

删除文件,将百度网盘根目录中ssq.xlsx删除

bypy delete ssq.xlsx

创建目录,在百度网盘根目录中创建test文件夹

bypy mkdir test

搜索文件,在百度网盘中搜索ssq.xlsx所在位置

bypy search ssq.xlsx

显示登录用户信息

bypy whoami

显示配额信息

bypy info

四、清除授权信息

删除token文件,删除后需重新授权

bypy -c

删除token的同时清空缓存哈希信息

bypy -cc

好了,bypy的使用就写到这里了,可以放到服务器后台执行让它慢慢下载了。


扩展说明:

1.下载是真的慢,速度大概只能到80kb/s左右,不知道是不是百度网盘api接口的限制,冲会员都不管用。

2.汇报一下战果,300G文件,下载了整整40天!

正文到此结束
温馨提示:
本文最后更新于 2024年05月04日,已超过 16 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我
本文目录