使用开源百度网盘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天!
- 本文标签: Linux Other Python
- 本文链接: https://blog.eyyyye.com/article/78
- 版权声明: 本文由比特原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权