有时我们需要将百度网盘的数据上传到服务器上进行运算,通常做法是先把数据下载到本地,然后从本地上传到服务器。这么做对于少量的数据可以,但是如果数据量达到几百GB甚至更多时,我们下载一遍就已经非常困难,如果在上传一遍简直难以想象的费时。所以我们就想到能不能在服务器上直接下载数据?然而困难来了,百度网盘只做了中标麒麟桌面操作系统软件(兆芯版) V7.0、Ubuntu V18.04的适配,centos安装后无法使用!
本文就是针对这一需求,写了一篇如何在centos上下载百度网盘文件的说明
Step1:安装必要的包
[host ~]# pip install screen #保持下载不中断
[host ~]# screen -S bypy #创建一个专门针对bypy的使用界面
[host ~]# pip install bypy #百度网盘python版
Step2:初始化信息
[host ~]# bypy info
Please visit:
https://openapi.baidu.com/oauth/2.0/authorize?scope=basic+netdisk&redirect_uri=oob&response_type=code&client_id=q8WE4EpCsau1oS0MpKNBn
And authorize this app
Paste the Authorization Code here within 10 minutes.
Press [Enter] when you are done
Step3:浏览器打开www.baidu.com然后用自己的百度网盘账号登陆
把上面得到的链接https://openapi.b***pKNn复制到浏览器打开,授权bypy登陆百度网盘账号
Step4:复制授权码,回到step2界面,把授权码粘贴到下方回车
出现如下提示说明授权成功
Authorizing, please be patient, it may take upto 60.0 seconds...
Successfully authorized
Quota: 2.103TB
Used: 1.61TB
Step5:登陆自己的百度网盘,把需要下载的文件移动到”我的应用数据/bypy/”目录下
然后输入bypy list查看文件
[host ~]# bypy list
/apps/bypy ($t $f $s $m $d):
D clean_data 0 2020-02-21, 23:26:42
F GeoSetter.zip 24755441 2020-02-21, 22:55:49 3bda8fc6626ff5e654879331186db993
F S_miltiorrhiza_K63.fasta 632654580 2020-02-21, 22:58:32 68f5d24b92b45d46c359ae8a52734942
说明:每一行第一个字母代表文件类型
F代表文件,D代表文件夹
使用方法,下载文件:
[host ~]# bypy downfile GeoSetter.zip
下载文件夹
[host ~]# bypy downdir clean_data
上传文件
[host ~]# bypy upload 本地地址 网盘地址
退出登录
[host ~]# bypy -c
Important!
由于bypy已经在服务器上配置好
下次登录服务器的时候直接
[host ~]# screen -r bypy
进入,然后使用或者查看下载