一个python编写的百度网盘命令行客户端

该命令主要是在Linux下使用,这样很大的一个好处是可以利用到百度云盘的大容量存储空间;你可以在任何服务器上,利用自动化脚本实现一些数据文件、日志文件等等备份操作,同时也提供丰富的文件列表、上传、下载、对比、同步以及批量操作等。

1. 安装

1
sudo pip install bypy

2. 百度授权

首次安装之后,需要进行授权,只需要运行任何一个命令都可以,例如bypy info,然后根据提示打开网页登录你的百度网盘账号并取得授权码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
qcmoke@DESKTOP-LUQTQE6:~$ bypy info
Please visit:
#打开这个如下的网址
https://openapi.baidu.com/oauth/2.0/authorize?scope=basic+netdisk&redirect_uri=oob&response_type=code&client_id=q8WE4Ep*******NBn
And authorize this app
Paste the Authorization Code here within 10 minutes.
Press [Enter] when you are done
#输入如下授权码并回车
87559e********8d6ed22
Authorizing, please be patient, it may take upto 300 seconds...
Authorizing/refreshing with the OpenShift server ...
OpenShift server failed, authorizing/refreshing with the Heroku server ...
Heroku server failed, authorizing/refreshing with the Heroku1 server ...
Successfully authorized
Quota: 2.020TB
Used: 1.124TB

💁‍♂如果需要注销授权,可以删除掉目录~/ .bypy/即可。

3. 基本使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@izwz93gbbvcxl07uju1onwz ~]# mkdir baiduyun
[root@izwz93gbbvcxl07uju1onwz ~]# cd baiduyun/
[root@izwz93gbbvcxl07uju1onwz baiduyun]# touch hello.txt
#上传当前目录的hello.txt到百度网盘里"我的应用数据(apps)/bypy/file/"
[root@izwz93gbbvcxl07uju1onwz baiduyun]# bypy upload ./hello.txt /file/
#查看百度网盘里"我的应用数据(apps)/bypy/"下的文件或者目录
root@DESKTOP-LUQTQE6:~/baiduPan# bypy ls
/apps/bypy ($t $f $s $m $d):
D file 0 2020-04-20, 16:10:53
#查看百度网盘里"我的应用数据(apps)/bypy/file/"下的文件或者目录
root@DESKTOP-LUQTQE6:~/baiduPan# bypy ls /file
/apps/bypy/file ($t $f $s $m $d):
F hello.txt 0 2020-04-20, 16:10:53 8e23f7635tb64136eddb0719602bc477

#将百度网盘里"我的应用数据(apps)/bypy/file/hello.txt"下载到用户主目录里
root@DESKTOP-LUQTQE6:~/baiduPan# bypy download /file/hello.txt ~
[====================] 100% (0.0B/0.0B) root@DESKTOP-LUQTQE6:~/baiduPan#
root@DESKTOP-LUQTQE6:~/baiduPan# ls ~
baiduPan hello.txt

💁‍♂ 提示:在云盘里面出现一个我的应用数据这里面有一个bypy的文件夹.这个就是你的工具的根目录,你要上传下载的文件都在这里面而不是其他的地方。

📑 其他命令:

  • 更详细的了解某一个命令:bypy help
  • 显示在云盘(程序的)根目录下文件列表:bypy list
  • 把当前目录同步到云盘:bypy syncup 或者bypy upload
  • 把云盘内容同步到本地来:bypy syncdown --downloader aria2或者bypy downdir / --downloader aria2这个命令不好用,要在后面加 –downloader aria2,要不没有速度
  • 比较本地当前目录和云盘(程序的)根目录(个人认为非常有用):bypy compare
  • 下载文件 bypy downfile 下载文件名
  • 上传文件 bypy upload 文件名
  • 在远端创建文件夹tmp bypy mkdir tmp/bypy
  • 运行时添加\ -v\ 参数,会显示进度详情。
  • 运行时添加\ -d\ ,会显示一些调试信息。
  • 运行时添加\ -ddd\ ,还会会显示HTTP通讯信息(\ 警告:非常多\ )
  • bypy upload localfile cloudfile bypy upload ./123.txt /cloud.将本地123.txt文件上传到云盘我的应用程序(apps) /bypy/cloud 文件夹内.也可上传整个文件夹,命令示例如下:bypy upload /123 /cloud.将本地123文件夹内所有文件上传到云盘 apps/bypy/cloud 文件夹内.

4. 常见问题

1
2
3
4
5
6
7
8
9
10
11
12
[root@izwz93gbbvcxl07uju1onwz ~]# bypy info
/usr/lib/python2.7/site-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.25.9) or chardet (2.2.1) doesn't match a supported version!
RequestsDependencyWarning)
Quota: 2.020TB
Used: 1.117TB

#解决方案,制裁urllib3 和chardet
sudo pip uninstall urllib3
sudo pip uninstall chardet
#然后,再卸载从新安装requests
sudo pip uninstall requests
sudo pip install requests


----------- 本文结束 -----------




如果你觉得我的文章对你有帮助,你可以打赏我哦~
0%