『 百度网盘下载之bypy』 有槽必吐 | 您所在的位置:网站首页 › 百度网盘网速慢违法吗 › 『 百度网盘下载之bypy』 有槽必吐 |
百度网盘下载之bypy
qakcn 2019-09-13T19:50:08+08:00 技术宅 百度网盘现在各种限制,就是逼着用户付款,而且还要付最贵那档才给不限速。吃相这么难看,实在很难让人想给他钱。所以现在各种破解横行。不过我这里要介绍的bypy并不是一种破解方案,所以速度实际上也只能达到300KB/s(但总比10KB/s好),存储目录也不能随意设置,好处就是可以挂在NAS上。 简介bypy的GitHub仓库: bypy其实是一个调用百度网盘API的第三方应用,也就是将百度盘作为应用数据存储的地方(比如输入法存储词库这种的),只不过bypy是用这种方法来实现了百度网盘的命令行客户端。 由于是应用数据,所以存储的目录被固定为了我的应用数据/bypy,不过好在可以在百度网盘中将数据复制移动出入这个目录,所以问题不大。 项目作者已经停止了开发,进入了维护期,也许有一天百度网盘关闭或修改API就用不了了。不管怎么样,还是感谢作者。 安装bypy是一个Python项目,所以只要有Python环境就可以使用。考虑到依赖的问题,我们使用pip来安装。 如果你还没有python或pip环境,在Ubuntu下可以通过如下命令安装(Windows中可以用WSL的Ubuntu): sudo apt-get install python python-pip其他系统也是安装这两个软件包(包名可能有所不同)就可以了。注意,这里的python包要2.X版本的,如果默认的是3.X版,需要安装2.X的软件包(比如python2.7、python2.7-pip)。 安装好后就可以直接用pip安装bypy了。 pip install bypy但是由于pip的源在境外,有可能速度不理想,我们可以用清华大学的镜像: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple bypypip会自己解决依赖关系,上面我们的安装没有使用sudo,所以仅是针对当前用户的。 使用初次使用时需要设置百度网盘API key。我们随便用一条命令即可开始设置: python -m bypy info命令太长?我们可以加一个别名: alias bypy='python -m bypy'执行上面的命令之后,我们就可以用bypy来代替那一长串命令了。为了不每次进终端都要执行上面的命令,我们可以在当前用户的home目录下新建一个.bash_aliases文件(~/.bash_aliases),然后把上面这条命令添加进去,这样每次进终端都可以直接使用bypy命令了。 执行之后会给你一个网址,访问之后就可以得到API key(需要用百度网盘账号登录),然后复制或输入到命令行中即可。如下所示: user@WIN10-PC:~$ bypy info 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输入Key之后回车确认,等一会儿获取授权之后就提示Successfully authorized并且会列出空间使用情况,这就成功了。 bypy命令结构很简单,就是bypy [操作],操作除了上面的info之外,常用的还有list、download、upload。更多操作以及选项请直接运行bypy不加任何操作来查看。下面只介绍常用的。 列出文件bypy list就是列出网盘目录(即我的应用数据/bypy)下的文件,每个文件或目录一行,每行有4~5列数据。第1列是类型,D为目录,F为文件;第2列为文件名或目录名;第3列为占用的空间大小(字节);第4列为修改时间;第5列为文件的Hash值。 例如: user@HOST:~$ bypy list /apps/bypy ($t $f $s $m $d): D foo 0 2019-08-06, 23:08:15 F cn_windows_10_consumer_editions_version_1903_updated_aug_2019_x64_dvd_4c9cbf0b.iso 5306406912 2019-09-12, 19:31:11 7722dbe0ccebebe215fb8f0646450079 F win10-64bit-radeon-software-adrenalin-2019-edition-19.9.1-sep10.exe 435216696 2019-09-12, 21:08:51 cba1369bde139fffea4a3f5fef4c60c5我们还可以在后面加上子目录名来显示子目录的文件列表,如: bypy list foolist可以简写为ls,和Linux常用命令一样。 下载文件下载文件就直接bypy download [本地目标路径]即可(尖括号里的内容表示必需,方括号[]表示可选)。随后就会调用自带的下载器下载。如果本地目标路径是目录,那么文件或目录就会下载到其中;如果文件或目录不存在,则会新建;如果文件存在,则会检查是否和远程文件匹配,如果不一样则会覆盖目标文件,如果一样则不做操作。 但是这样下载并不能达到最大速度,因此我们需要第三方下载器。bypy只支持aria2,所以我们安装aria2就行了。 sudo apt-get install aria2aria2是一个非常好用的命令行下载工具,以后有机会再详细介绍。 然后我们需要用参数--downloader aria2来让bypy调用aria2下载,还可以用--downloader-arguments来设置aria2的参数,在此不细说了,请自行研究。 用aria2下载文件: bypy --downloader aria2 download cn_windows_10_consumer_editions_version_1903_updated_aug_2019_x64_dvd_4c9cbf0b.iso下载目录: bypy download foo下载目录时要注意两点:1、bypy会递归下载目录,也就是说会把目录中的内容一起下载下来;2、bypy会把目录里的内容放在当前目录。比如上面的目录foo中如果有个文件bar,那么bar会放到当前目录,而不是在当前目录新建一个foo然后把bar放进去。如果要下载到foo里,我们需要指定目标路径。 bypy download foo foo 上传文件上传文件和下载正好反过来。bypy upload [远程目标路径],操作也大同小异,因此就不细说了,唯一要说明的是,上传文件会检查文件校验,如果文件是百度已经收录过的,那么就可以做到秒传。 文件操作bypy可以对远程文件直接进行复制、移动、删除操作,复制的命令是copy(简写cp,移动命令是move(简写mv)或rename(简写ren,重命名实际就是移动操作,两者等价)。命令你个后面加上源和目标即可。比如: bypy copy foo foo2 bypy move foo2 foo3 bypy ren foo3 foo/foo3删除就是delete或remove(简写为rm)后面跟着要删除目标就行了。 bypy rm foo/foo3 其他bypy还有很多其他操作,比如添加、取消、列出离线下载,比较文件,同步上传、下载目录等等,感兴趣的请自行研究,这里也不细说了。 还有bypy一段时间闲置之后会丢失token,很不方便。如果是在NAS上用的话,我们可以定时刷新一下。只要在crontab中添加一条定期执行info操作的命令,周期设定为每星期一执行。 在需要修改crontab的用户下执行该命令: crontab -e然后添加如下一行: 3 4 * * 1 python -m bypy infocrontab中要用完整的命令,不能用别名。执行时间为每星期一的凌晨3点4分。保存就行了。 最后感谢bypy的作者,虽然百度云现在已经退出Linux版了,但主要面向的还是图形介面,命令行下能有bypy这样的工具很不错。 打赏
bypyNASUbuntu百度网盘. 没有评论 回复 取消 此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据。 |
CopyRight 2018-2019 实验室设备网 版权所有 |