百度云/百度网盘Python客户端

地址:https://github.com/houtianze/bypy

注:需要python 2.7的环境

这是一个百度云/百度网盘的Python客户端。主要的目的就是在Linux环境下(命令行)使用百度云盘的2TB的巨大空间。比如,你可以用在Raspberry Pi树莓派上。它提供文件列表、下载、上传、比较、向上同步、向下同步,等等。

功能: 全面支持Unicode / 中文;失败重试;递归上/下载;目录比较; 哈希缓存.

界面是英文的,主要是因为这个是为了Raspberry Pi树莓派开发的。

重要:想要支持中文,你要把系统的区域编码设置为UTF-8。

重要:你需要安装Python Requests 库. 在 Debian / Ubuntu / Raspbian 环境下,只需执行如下命令一次:

sudo pip install requests

注:如果没有pip 可以使用easy_install,下面附安装方式

wget https://bootstrap.pypa.io/ez_setup.py -O - | python
unzip setuptools-12.0.5.zip 
cd setuptools-12.0.5
python ez_setup.py 
easy_install requests

上手:

显示使用帮助和所有命令(英文):

bypy.py

第一次运行时需要授权,只需跑任何一个命令(比如 bypy.py info)然后跟着说明(登陆等)来授权即可。授权只需一次,一旦成功,以后不会再出现授权提示.

更详细的了解某一个命令:

bypy.py help <command>

显示在云盘(程序的)根目录下文件列表:

bypy.py list

把当前目录同步到云盘:

bypy.py syncup
or
bypy.py upload

把云盘内容同步到本地来:

bypy.py syncdown
or
bypy.py downdir /

比较本地当前目录和云盘(程序的)根目录(个人认为非常有用):

bypy.py compare

还有一些其他命令 …

哈希值的计算加入了缓存处理,使得第一次以后的计算速度有所提高。

运行时添加 -v 参数,程序会显示进度详情;添加 -d ,程序会显示一些调试信息。

安装bypy

[root@wlzs ~]# bypy.py list  执行这个命令之后 会提示让你注册 
Token file: '/root/.bypy.json'
Hash Cache file: '/root/.bypy.pickle'
App root path at Baidu Yun '/apps/bypy'
sys.stdin.encoding = UTF-8
sys.stdout.encoding = UTF-8
----

<E> [11:03:32] Error while loading baidu pcs token:
<E> [11:03:32] Traceback (most recent call last):
  File "/usr/local/bin/bypy.py", line 1178, in __load_local_json
    with open(TokenFilePath, 'rb') as infile:
IOError: [Errno 2] No such file or directory: u'/root/.bypy.json'

Please visit: 将下面的这个链接复制到网页打开
https://openapi.baidu.com/oauth/2.0/authorize?scope=basic+netdisk&redirect_uri=oob&response_type=code&client_id=q8WE4EpCsau1oS0MplgMKNBn
And authorize this app
Paste the Authorization Code here within 10 minutes.
Press [Enter] when you are done
在此输入下面红色部分的授权码 然后按回车 会有一段时间的等待连接授权服务器进行认证

打开上面的链接QQ图片20150121110646

认证成功之后,就可以通过这bypy向网盘里面传文件了QQ图片20150121111048

 

 

卸载bypy

[root@wlzs bdyp]# python bypy.py list   执行这名命令之后 会显示token 及hash 文件的地点 下面第一行及第二行
Token file: '/root/.bypy.json'
Hash Cache file: '/root/.bypy.pickle'
App root path at Baidu Yun '/apps/bypy'
sys.stdin.encoding = UTF-8
sys.stdout.encoding = UTF-8
----

/apps/bypy ($t $f $s $m $d):

将上面的两个文件删除即可

cd 
rm -rf .bypy*

下载链接

bypy-master

二〇一四年十二月二十二日 16:11:00

点赞