糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > 百度网盘Python客户端bypy

百度网盘Python客户端bypy

时间:2019-12-24 07:31:38

相关推荐

百度网盘Python客户端bypy

简单说明:

由于百度PCS API权限限制,bypy只能存取百度云端/apps/bypy目录下面的文件和目录bypy没有提速效果,想要下载不限速,需要自行购买SVIP

之前老苏写过 『 Docker中运行百度网盘客户端 』,那是带图形界面的官方客户端,而bypy则是第三方的命令行工具

构建镜像

如果你不想自己构建,可以跳过,直接阅读下一章节

bypy官方没有提供Dockerfile或者镜像,但第三方的还是很多的,只是都有些年代久远,所以老苏还是准备自己构建

v1Dockerfile

FROM python:3.6-slimMAINTAINER laosu<wbsu@>WORKDIR /baidupyCOPY . /baidupy/# EnvironmentENV TERM=xtermRUN pip install bypy # ApplicationEXPOSE 80ENV NAME Python_client_for_Baidu_YunCMD bypy info

但是老苏发现v1版的容器停止后会无法启动,因为bypy info在获取到云盘容量后会退出,导致exited with code 0,因此老苏引入了Supervisor来做进程管理

v2Dockerfile

FROM python:3.6-slimMAINTAINER laosu<wbsu@>WORKDIR /baidupy# ApplicationRUN apt-get update -y && \apt-get install -y supervisorRUNpip install bypy# supervisordCOPY supervisord.conf /etc/supervisord.conf# EnvironmentENV TERM=xtermENV NAME=Python_client_for_Baidu_Yun#定义时区参数(非必须)ENV TZ=Asia/Shanghai#设置时区(非必须)RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo '$TZ' > /etc/timezone#设置编码(非必须)ENV LANG C.UTF-8ENTRYPOINT ["supervisord","-c","/etc/supervisord.conf"]

v2版除了Dockerfile,还需要准备supervisord.conf文件

[include]files = /etc/supervisor/conf.d/*.conf[program:bypy]command=bypy info#directory will be any folder where you wnat supervisor to cd before executing.#directory=/project autostart=trueautorestart=falsestartretries=3#user will be anyone you want but make sure that user will have the enough privilage.user=root[supervisord]nodaemon=truelogfile=/tmp/supervisord.logpidfile=/tmp/supervisord.pidloglevel=debuglogfile_maxbytes=10MB[supervisorctl]

构建镜像和容器运行的基本命令如下👇

# 将 Dockerfile 和 supervisord.conf 放在同一个目录# 构建镜像docker build -t wbsu/bypy:v2 .# 生成容器docker run -it --name=bypy \-v /volume2/docker/bypy:/baidupy \wbsu/bypy:v2# 运行容器docker start bypy# 进入容器docker exec --user root -it bypy /bin/sh# 退出容器exit 或者 ctrl+D

安装

在群晖上以 Docker 方式安装。

在注册表中搜索wbsu,找到wbsu/bypy,版本选择latest

docker文件夹中,创建一个新文件夹,并将其命名为bypy

运行

cloud189-cli一样,bypy也是命令行方式的,所以要么在SSH客户端上运行,要么进 『终端机』 运行。

老苏建议还是在SSH客户端上运行比较方便,关于cloud189-cli请看:『在群晖上使用天翼云盘』

终端机-->新增-->通过命令启动-->bash

第一次需要授权,执行bypy info,然后复制红框部分的内容,在浏览器中打开

复制生成的授权码

粘贴到红框位置,然后回车

程序会利用不同的服务器进行认证,认证成功会显示百度网盘的容量,如果一次没成功,可以多试几次。

过程有点长,而且失败的概率还挺高的,要有耐心~~~

有的网站直接报错

有的访问不到

极端情况下会认证失败,只能重新再来一遍了,因为这个授权码有时间限制

认证成功后,会显示空间的大小

授权只需一次,一旦成功,以后就不会再出现授权提示

access_tokenrefresh_token保存在/~/.bypy/bypy.json

常用命令

帮助

执行bypy或者bypy help

更详细的可以运行

bypy help <command>

例如:bypy help list

文件列表

执行bypy list可以列出云盘的文件

在百度盘中的/apps/bypy目录中

下载

也就是将云盘内容同步到本地,可以执行bypy syncdown或者bypy downdir /,不是会员的话,下载速度就比较慢

下载完成后,可以在File Station中看到下载的文件

上传

也就是将当前目录同步到云盘,可以执行bypy syncup或者bypy upload

先在File Station增加一个将近百兆的exe文件

上传速度比下载要快一点

同步完成

刷新网盘

比较

要比较本地当前目录和云盘(程序的)根目录,可以执行bypy compare

为啥会Different:2,老苏也没闹明白,很可能是因为下载中断过的缘故

更多命令和详细解释请看运行bypy的输出,或者阅读官方的文档。

参考文档

houtianze/bypy: Python client for Baidu Yun (Personal Cloud Storage) 百度云/百度网盘Python客户端

地址:/houtianze/bypy/

bypy-百度网盘Python客户端 linux - 简书

地址:/p/c9467daf701f/

exited with code 0 docker - Stack Overflow

地址:/questions/44884719/exited-with-code-0-docker

Understanding Docker Container Exit Codes | by Sandeep Madamanchi | Better Programming

地址:https://betterprogramming.pub/understanding-docker-container-exit-codes-5ee79a1d58f6

如果觉得《百度网盘Python客户端bypy》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。