【读者投稿】用Bypy直接下载百度云盘文件到服务器

背景介绍

组学数据越来越大,数据传输已经成了一个组学合作研究中的重要限制因素。
百度云盘是数据存储和传输的重要工具,bypy是一个为了解决数据操作的工具。

它可以通过命令行上传和下载数据。

本文记录一下最近用该工具下载数据的应用。

安装

首先用conda建立一个环境:

module load miniconda 
conda create --prefix bypy
source activate /path to bypy/bypy
conda install bypy

授权码的获取

运行:

bypy info 

运行该命令会产生一个网址链接,把链接复制到浏览器中,检测到已登录的百度云盘的账户,而产生一个和账户授权码。

输入该授权码后就可以对该账户下的数据进行操作了。

该授权码输入一次后电脑下的操作就不用重复输入。

下载数据

注意:只能读取我的应用数据/bypy 文件夹下的数据。

运行:

bypy downfile 

# 注意路径不要包含/apps/bypy/, 系统会自动加上。

下载文件夹可以用:

bypy downdir

更多功能

该工具有更多细致的功能,可以自行探索。

bypy --help 
# 可以列出所有的功能选项
usage: bypy [-h] [-V] [-d] [-v] [-r RETRY] [-q] [-t TIMEOUT] [-s SLICE] [--chunk CHUNK] [-e] [-f] [--no-resume-download] [--include-regex INCREGEX] [--on-dup ONDUP]
            [--no-symlink] [--disable-ssl-check] [--cacerts CACERTS] [--mirror MIRROR] [--select-fastest-mirror] [--rapid-upload-only]
            [--resume-download-revert-back RCOUNT] [--move] [--processes PROCESSES] [--downloader DOWNLOADER] [--downloader-arguments DOWNLOADER_ARGS]
            [--config-dir CONFIGDIR] [-c]
            [command ...]
bypy v1.8.2 - Python client for Baidu Yun (Personal Cloud Storage) 百度云/百度网盘 Python 客户端
positional arguments:
  command              operations (quota, list, etc)
optional arguments:
  -h, --help            show this help message and exit
  -V, --version        show program's version number and exit
  -d, --debug          set debugging level (-dd to increase debugging level, -ddd to enable HTPP traffic debugging as well (very talkative)) [default: 0]
  -v, --verbose        set verbosity level [default: 0]
  -r RETRY, --retry RETRY
                        number of retry attempts on network error [default: 5 times]
  -q, --quit-when-fail  quit when maximum number of retry failed [default: False]
  -t TIMEOUT, --timeout TIMEOUT
                        network timeout in seconds [default: 300]
  -s SLICE, --slice SLICE
                        size of file upload slice (can use '1024', '2k', '3MB', etc) [default: 20 MB]
  --chunk CHUNK        size of file download chunk (can use '1024', '2k', '3MB', etc) [default: 20 MB]
  -e, --verify          verify upload / download [default : False]
  -f, --force-hash      force file MD5 / CRC32 calculation instead of using cached value
  --no-resume-download  resume instead of restarting when downloading if local file already exists [default: True]
  --include-regex INCREGEX
                        regular expression of files to include. if not specified (default), everything is included. for download, the regex applies to the remote files;
                        for upload, the regex applies to the local files. to exclude files, think about your regex, some tips here:
                        https://stackoverflow.com/questions/406230/regular-expression-to-match-string-not-containing-a-word [default: ]
  --on-dup ONDUP        what to do when the same file / folder exists in the destination: 'overwrite', 'skip', 'prompt' [default: overwrite]
  --no-symlink          DON'T follow symbol links when uploading / syncing up
  --disable-ssl-check  DON'T verify host SSL cerificate
  --cacerts CACERTS    Specify the path for CA Bundle [default: None]
  --mirror MIRROR      Specify the PCS mirror (e.g. bj.baidupcs.com. Open 'https://pcs.baidu.com/rest/2.0/pcs/manage?method=listhost' to get the list) to use. [default:
                        pcs.baidu.com]
  --select-fastest-mirror
                        Let the program run some tests and select the fastest PCS mirror it detectes. [default: False]
  --rapid-upload-only  only upload large files that can be rapidly uploaded
  --resume-download-revert-back RCOUNT
                        Revert back at least RCOUNT download chunk(s) and align to chunk boundary when resuming the download. A negative value means NO reverts. [default:
                        1]
  --move                Delete source files/directories after download/upload/syncdown/syncup is successful (This will force verification of the files). [default: False]
  --processes PROCESSES
                        Number of parallel processes. (Only applies to dir sync/dl/ul). [default: 1]
  --downloader DOWNLOADER
                        downloader to use (use python if not specified). valid values: ['aria2'] [default: ]
  --downloader-arguments DOWNLOADER_ARGS
                        arguments for the downloader: normally, the string is the arguments to be passed to the downloader. however, when it begins with '@', it will be
                        treated as the name of file, whose contents will be used as the downloader arguments (example: when specifying '@args.txt', file contents of
                        'args.txt' will be used as the downloader arguments, not the string '@args.txt' itself). you can also use environment variable
                        'DOWNLOADER_ARGUMENTS' to specify the downloader arguments (the environment variable has lower priority compared to this argument). default values:
                        {'aria2': '-c -k10M -x4 -s4 --file-allocation=none'}
  --config-dir CONFIGDIR
                        specify the config path [default: /home/zhenbin.hu/.bypy]
  -c, --clean          remove the token file (need re-auth) and upload progress file, -cc: clean hash cache file as well
Commands:
refreshtoken - refresh the access token
cdl_add <source_url> [save_path] [timeout] - add an offline (cloud) download task
cdl_addmon <source_url> [save_path] [timeout] - add an offline (cloud) download task and monitor the download progress
cdl_cancel   - cancel an offline (cloud) download task
cdl_list - list offline (cloud) download tasks
cdl_query   - query existing offline (cloud) download tasks
cleancache - remove invalid entries from hash cache file
combine <remotefile> [localfile] [md5s] - try to create a file at PCS by combining slices, having MD5s specified
compare [remotedir] [localdir] - compare the remote directory with the local directory
copy/cp <from> <to> - copy a file / dir remotely at Baidu Yun
delete/remove/rm <remotepath> - delete a file / dir remotely at Baidu Yun
downdir [remotedir] [localdir] - download a remote directory (recursively)
downfile <remotefile> [localpath] - download a remote file.
download [remotepath] [localpath] - download a remote directory (recursively) / file
dumpcache - display file hash cache
list/ls [remotepath] [format] [sort] [order] - list the 'remotepath' directory at Baidu PCS
listrecycle [start] [limit] - list the recycle contents
meta <remotepath> [format] - get information of the given path (dir / file) at Baidu Yun.
mkdir <remotedir> - create a directory at Baidu Yun
move/mv/rename/ren <from> <to> - move a file / dir remotely at Baidu Yun
quota/info - display the quota information
restore <remotepath> - restore a file from the recycle bin
search <keyword> [remotepath] [recursive] - search for a file using keyword at Baidu Yun
stream <remotefile> <localpipe> [format] [chunk] - stream a video / audio file converted to M3U format at cloud side, to a pipe.
syncdown [remotedir] [localdir] [deletelocal] - sync down from the remote directory to the local directory
syncup [localdir] [remotedir] [deleteremote] - sync up from the local directory to the remote directory
upload [localpath] [remotepath] [ondup] - upload a file or directory (recursively)
whoami - display the user information
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 193,812评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,626评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,144评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,052评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,925评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,035评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,461评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,150评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,413评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,501评论 2 307
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,277评论 1 325
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,159评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,528评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,868评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,143评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,407评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,615评论 2 335

推荐阅读更多精彩内容