Last updated:
0 purchases
baidupcspy 0.7.6
BaiduPCS-Py
A BaiduPCS API and An App
BaiduPCS-Py 是百度网盘 pcs 的非官方 api 和一个命令行运用程序。
也是 https://github.com/PeterDing/iScript/blob/master/pan.baidu.com.py 的重构版。
BaiduPCS-Py 旨在为个人用户提供操作自己用户网盘文件的 api 和简易命令行工具,不提供任何下载加速破解的服务。普通用户下载是限速的。想要下载不限速,请购买 SVIP。
阿里云盘 api 和 命令行客户端在 https://github.com/PeterDing/AliPCS-Py
安装
更新
API
用法
命令别名
对多个帐号进行相同操作
自动补全
用户相关命令
添加用户
设置账号名
显示当前用户的信息
更新用户信息
显示所有用户
切换当前用户
删除一个用户
显示当前工作目录
切换当前工作目录
无感加密解密文件
设置文件加密密码
文件操作相关命令
文件操作
列出网盘路径下的文件
搜索文件
显示文件内容
创建目录
移动文件
文件重命名
拷贝文件
删除文件
下载文件或目录
播放媒体文件
上传文件
同步本地目录到远端
秒传相关命令
关于秒传
显示网盘中文件的秒传连接
列出保存的文件秒传信息
搜索保存的文件秒传信息
用秒传连接或参数上传
分享相关命令
分享文件
列出分享链接
取消分享链接
列出其他用户分享链接中的文件
保存其他用户分享的链接
离线下载相关命令
添加离线下载任务
列出离线下载任务
清除已经下载完和下载失败的任务
取消下载任务
删除所有离线下载任务
HTTP 服务
开启 HTTP 服务
安装
需要 Python 版本大于或等于 3.7
pip3 install Cython
pip3 install BaiduPCS-Py
Windows 依赖
在 Windows 上,BaiduPCS-Py 依赖 Microsoft C++ Build Tools。
在安装 BaiduPCS-Py 前,请先安装 Microsoft C++ Build Tools,再在其中勾选 C++ 生成工具 并安装。完成后即可安装 BaiduPCS-Py。
更新
pip3 install BaiduPCS-Py --upgrade
API
BaiduPCS-Py 的百度网盘 API 只依赖 requests,方便用户开发自己的运用。
from baidupcs_py.baidupcs import BaiduPCSApi
api = BaiduPCSApi(bduss=bduss, cookies=cookies)
注意,下面几个 api 不是线程安全的:
BaiduPCSApi.access_shared
BaiduPCS.access_shared
BaiduPCSApi.shared_paths
BaiduPCS.shared_paths
用法
BaiduPCS-Py --help
命令别名
可以用下面的命令别名代替原来的命令名。
别名
原名
w
who
uu
updateuser
su
su
ul
userlist
ua
useradd
an
accountname
ep
encryptpwd
ud
userdel
l
ls
f
search
md
mkdir
mv
move
rn
rename
cp
copy
rm
remove
d
download
p
play
u
upload
sn
sync
rl
rplist
rs
rpsearch
rp
rp
S
share
sl
shared
cs
cancelshared
lsp
listsharedpaths
s
save
a
add
t
tasks
ct
cleartasks
cct
canceltasks
sv
server
对多个帐号进行相同操作
BaiduPCS-Py 支持对多个帐号进行相同操作。比如,用相同关键字搜索多个帐号,上传相同的文件/目录到多个帐号,等等。
使用者只需用 --accounts (或 -u) 选项来指定要操作的帐号名即可。
--accounts 接受一个参数,这个参数是用“,”连接的要进行操作帐号名的部分字符。假设我们现在有 3 个帐号,帐号名分别是 Tom,Peter,Joy。
现在我要同时对Tom和Joy进行关键字搜索。我们可以用下面的命令进行:
BaiduPCS-Py --accounts 'Tom,Joy' search 'keyword' / -R
或者给出帐号名的部分片段:
BaiduPCS-Py --accounts 'om,oy' search 'keyword' / -R
更简单可以用:
# Tom, Joy 都包含字符 "o"
BaiduPCS-Py --accounts 'o' search 'keyword' / -R
如果要对所有帐号进行操作用 --accounts ''。
如果不使用 --accounts 选项,默认只对当前帐号进行操作。
以下命令支持对多个帐号进行操作:
pwd
ls
search
cat
mkdir
move
rename
copy
remove
download
play
upload
sync
rp
share
shared
cancelshared
save
add
tasks
cleartasks
canceltasks
purgetasks
server
注意: --accounts 一定要跟在 BaiduPCS-Py 后,命令前。
自动补全
在 Bash, Zsh 和 Fish 上 BaiduPCS-Py 命令支持自动补全。
在 Bash 上,加入下面一行到 ~/.bashrc
eval "$(_BAIDUPCS_PY_COMPLETE=bash_source BaiduPCS-Py)"
在 Zsh 上,加入下面一行到 ~/.zshrc
eval "$(_BAIDUPCS_PY_COMPLETE=zsh_source BaiduPCS-Py)"
在 Fish 上,加入下面一行到 ~/.config/fish/completions/foo-bar.fish
eval (env _BAIDUPCS_PY_COMPLETE=fish_source BaiduPCS-Py)
添加用户
BaiduPCS-Py 目前不支持用帐号登录。需要使用者在 pan.baidu.com 登录后获取 cookies 和其中的 bduss 值,并用命令 useradd 为 BaiduPCS-Py 添加一个用户。
使用者可以用下面的方式获取用户的 cookies 和 bduss 值。
登录 pan.baidu.com
打开浏览器的开发者工具(如 Chrome DevTools)。
然后选择开发者工具的 Network 面板。
在登录后的页面中任意点开一个文件夹。
在 Network 面板中找到 list?.... 一行,然后在右侧的 Headers 部分找到 Cookie: 所在行,复制 Cookie: 后的所有内容作为 cookies 值,其中的 BDUSS=...; 的 ... (没有最后的字符;)作为 bduss 值。
现在找到了 cookies 和 bduss 值,我们可以用下面的命令添加一个用户。
交互添加:
BaiduPCS-Py useradd
或者直接添加:
BaiduPCS-Py useradd --cookies "cookies 值" --bduss "bduss 值"
你也可以只添加 bduss,省去 cookies (或 cookies 中没有 STOKEN 值),但这会让你无发使用 share 和 save 命令来转存其他用法的分享文件。
BaiduPCS-Py 支持多用户,你只需一直用 useradd 来添加用户即可。
设置账号名
BaiduPCS-Py accountname --account-name "my account"
Option
Description
--account-name, --an TEXT
设置账号名,用于指定运行帐号和显示
显示当前用户的信息
BaiduPCS-Py who
或者:
BaiduPCS-Py who user_id
指明显示用户 id 为 user_id 的用户信息。
选项
Option
Description
-K, --show-encrypt-password
显示加密密码
更新用户信息
默认更新当前用户信息。
BaiduPCS-Py updateuser
也可指定多个 user_id
BaiduPCS-Py updateuser user_id
Option
Description
--all
更新所有用户信息
显示所有用户
BaiduPCS-Py userlist
切换当前用户
BaiduPCS-Py su
或者指定用户列表中用户所在的位置:
BaiduPCS-Py su 2
删除一个用户
BaiduPCS-Py userdel
设置文件加密密码
注意: v0.5.17 加密的文件格式(Version 2)不兼容以后的版本。
BaiduPCS-Py 支持“无感的”文件加密。
BaiduPCS-Py 可以加密上传文件,在下载的时候自动解密,让使用者感觉不到加密解密的过程。
如果使用者需要将保密文件上传至百度网盘保存,可以使用这个方法。即使帐号被盗,攻击者也无法还原文件内容。
BaiduPCS-Py 支持以下加密方法:
Simple 一种简单的加密算法。根据密钥生成一个字节对照表来加密解密文件。
速度快,但不安全,不建议加密重要文件。
因为这种算法加解密不需要知道上下文信息,所以,下载时支持分段下载,如果是媒体文件则支持拖动播放。
推荐用于加密不重要的媒体文件。
ChaCha20 工业级加密算法,速度快,推荐用于加密重要文件。不支持分段下载。
AES256CBC 工业级加密算法,推荐用于加密重要文件。不支持分段下载。
注意:用命令 encryptpwd 设置的密码只是为当前用户的。
为当前用户设置加密密码:
交互添加:
BaiduPCS-Py encryptpwd
或者直接添加:
BaiduPCS-Py encryptpwd --encrypt-password 'my-encrypt-password'
上传并加密文件:
上传和同步文件时只需要指定加密算法就可。如果不指定就不加密。
# 默认使用上面设置的 `encrypt-password`
BaiduPCS-Py upload some-file.mp4 some-dir/ /to/here --encrypt-type AES256CBC
下载并用上面设置的 encrypt-password 自动解密文件:
BaiduPCS-Py download /to/here/some-file.mp4 /to/here/some-dir/
也可以使用临时的 encrypt-password:
BaiduPCS-Py upload some-file.mp4 some-dir/ /to/here --encrypt-type Simple --encrypt-password 'onlyyou'
但在使用临时的 encrypt-password 后,cat、下载和播放这些文件时需要指定 encrypt-password,但不需要指定加密算法,程序会自动检查加密算法:
# 下载
BaiduPCS-Py download /to/here/some-file.mp4 /to/here/some-dir/ --encrypt-password 'onlyyou'
# 开启本地服务并播放
BaiduPCS-Py play /to/here/some-file.mp4 --encrypt-password 'onlyyou' --use-local-server
显示当前用户的密钥:
BaiduPCS-Py who --show-encrypt-password
BaiduPCS-Py 下载时默认会解密文件,如果想要下载但不解密文件,需要加 --no-decrypt
BaiduPCS-Py download some-file --no-decrypt
文件操作
BaiduPCS-Py 操作网盘中的文件可以使用文件的绝对路径或相对路径(相对与当前目录 pwd)。
每一个用户都有自己的当前工作目录(pwd),默认为 / 根目录。
使用者可以用 cd 命令来切换当前的工作目录(pwd)。
下面所有涉及网盘路径的命令,其中如果网盘路径用的是相对路径,那么是相对于当前工作目录(pwd)的。
如果是网盘路径用的是绝对路径,那么就是这个绝对路径。
显示当前工作目录
BaiduPCS-Py pwd
切换当前工作目录
切换到绝对路径:
BaiduPCS-Py cd /to/some/path
切换到相对路径:
# 切换到 (pwd)/../path
BaiduPCS-Py cd ../path
列出网盘路径下的文件
BaiduPCS-Py ls [OPTIONS] [REMOTEPATHS]...
BaiduPCS-Py ls /absolute/path
# or
BaiduPCS-Py ls relative/path
选项
Option
Description
-r, --desc
逆序排列文件
-n, --name
依名字排序
-t, --time
依时间排序
-s, --size
依文件大小排序
-R, --recursive
递归列出文件
-I, --include TEXT
筛选包含这个字符串的文件
--include-regex, --IR TEXT
筛选包含这个正则表达式的文件
-E, --exclude TEXT
筛选 不 包含这个字符串的文件
--exclude-regex, --ER TEXT
筛选 不 包含这个正则表达式的文件
-f, --is-file
筛选 非 目录文件
-d, --is-dir
筛选目录文件
--no-highlight, --NH
取消匹配高亮
-S, --show-size
显示文件大小
-D, --show-date
显示文件创建时间
-M, --show-md5
显示文件 md5
-A, --show-absolute-path
显示文件绝对路径
--show-dl-link, --DL
显示文件下载连接
--show-hash-link, --HL
显示文件秒传连接
--hash-link-protocol, --HLP [cs3l | short | bdpan]
显示文件 hash 链接,并指定协议
--no-check-md5, --NC
显示文件 cs3l:// 连接时不检查 md5
--csv
用 csv 格式显示,单行显示,推荐和 --DL 或 --HL 一起用
--only-dl-link, --ODL
只显示文件下载连接
--only-hash-link, --OHL
只显示文件秒传连接
统计路径下文件所占用空间
统计网盘路径下的文件所占用的空间
BaiduPCS-Py du [OPTIONS] [REMOTEPATHS]...
# 统计特定文件
BaiduPCS-Py du /some/path --include .mp4
Option
Description
-R, --recursive
递归计算所有文件
-I, --include TEXT
筛选包含这个字符串的文件
--include-regex, --IR TEXT
筛选包含这个正则表达式的文件
-E, --exclude TEXT
筛选 不 包含这个字符串的文件
--exclude-regex, --ER TEXT
筛选 不 包含这个正则表达式的文件
搜索文件
搜索包含 keyword 的文件
BaiduPCS-Py search [OPTIONS] KEYWORD [REMOTEDIR]
# 在当前工作目录中搜索
BaiduPCS-Py search keyword
# or
BaiduPCS-Py search keyword /absolute/path
# or
BaiduPCS-Py search keyword relative/path
选项
Option
Description
-R, --recursive
递归搜索文件
-I, --include TEXT
筛选包含这个字符串的文件
--include-regex, --IR TEXT
筛选包含这个正则表达式的文件
-E, --exclude TEXT
筛选 不 包含这个字符串的文件
--exclude-regex, --ER TEXT
筛选 不 包含这个正则表达式的文件
-f, --is-file
筛选 非 目录文件
-d, --is-dir
筛选目录文件
--no-highlight, --NH
取消匹配高亮
-S, --show-size
显示文件大小
-D, --show-date
显示文件创建时间
-M, --show-md5
显示文件 md5
--csv
用 csv 格式显示
显示文件内容
BaiduPCS-Py cat [OPTIONS] REMOTEPATH
选项
Option
Description
-e, --encoding TEXT
文件编码,默认自动解码
--no-decrypt, --ND
不解密
--encrypt-password, --ep TEXT
加密密码,默认使用用户设置的
创建目录
BaiduPCS-Py mkdir [OPTIONS] [REMOTEDIRS]...
选项
Option
Description
-S, --show
显示目录
移动文件
移动一些文件到一个目录中。
BaiduPCS-Py move [OPTIONS] [REMOTEPATHS]... REMOTEDIR
选项
Option
Description
-S, --show
显示结果
文件重命名
BaiduPCS-Py rename [OPTIONS] SOURCE DEST
选项
Option
Description
-S, --show
显示结果
拷贝文件
拷贝一些文件到一个目录中。
BaiduPCS-Py move [OPTIONS] [REMOTEPATHS]... REMOTEDIR
选项
Option
Description
-S, --show
显示结果
删除文件
BaiduPCS-Py remove [OPTIONS] [REMOTEPATHS]...
下载文件或目录
BaiduPCS-Py download [OPTIONS] [REMOTEPATHS]...
注意: 请用 me, aget_py 或 aget_rs 下载大于 5MB 的文件。用 aria2 下载大于 5MB 的文件会失败。 (#27)
--chunk-size 从 v0.6.27 开始不能大于 5M,这是百度服务的限制。超过 5M 会报 403 错误。
选项
Option
Description
-o, --outdir TEXT
指定下载本地目录,默认为当前目录
-R, --recursive
递归下载
-f, --from-index INTEGER
从所有目录中的第几个文件开始下载,默认为 0(第一个)
-I, --include TEXT
筛选包含这个字符串的文件
--include-regex, --IR TEXT
筛选包含这个正则表达式的文件
-E, --exclude TEXT
筛选 不 包含这个字符串的文件
--exclude-regex, --ER TEXT
筛选 不 包含这个正则表达式的文件
-s, --concurrency INTEGER
下载同步链接数,默认为 5。数子越大下载速度越快,但是容易被百度封锁
-k, --chunk-size TEXT
同步链接分块大小,最大不能超过 5M
-q, --quiet
取消第三方下载应用输出
--out-cmd, --OC
输出第三方下载应用命令
-d, --downloader [ me | aget_py | aget_rs | aria2 ]
指定下载应用 默认为 me (BaiduPCS-Py 自己的下载器,支持断续下载) me 使用多文件并发下载。 除 me 外,其他下载器,不使用多文件并发下载,使用一个文件多链接下载。 如果需要下载多个小文件推荐使用 me,如果需要下载少量大文件推荐使用其他下载器。对于 SVIP 用户,用哪个下载器都很快。 aget_py (https://github.com/PeterDing/aget) 默认安装 aget_rs (下载 https://github.com/PeterDing/aget-rs/releases) aria2 (下载 https://github.com/aria2/aria2/releases)
--player-params, --DP TEXT
第三方播放器参数
--encrypt-password, --ep TEXT
加密密码,默认使用用户设置的
播放媒体文件
BaiduPCS-Py play [OPTIONS] [REMOTEPATHS]...
注意: 大于 5MB 的媒体文件无法直接播放,需要加 -s 使用本地服务器播放。
play 命令默认播放带有媒体后缀的文件,如 abc.mp4, abc.mp3。如果需要播放的媒体文件没有用常规的媒体文件后缀,则需要加选项 --ignore-ext。
选项
Option
Description
-R, --recursive
递归播放
-f, --from-index INTEGER
从所有目录中的第几个文件开始播放,默认为 0(第一个)
-I, --include TEXT
筛选包含这个字符串的文件
--include-regex, --IR TEXT
筛选包含这个正则表达式的文件
-E, --exclude TEXT
筛选 不 包含这个字符串的文件
--exclude-regex, --ER TEXT
筛选 不 包含这个正则表达式的文件
--player-params, --PP TEXT
第三方播放器参数
-m, --m3u8
获取 m3u8 文件并播放
-q, --quiet
取消第三方播放器输出
--shuffle, --sf
随机播放
--ignore-ext, --IE
不用文件名后缀名来判断媒体文件
--out-cmd, --OC
输出第三方播放器命令
-p, --player [mpv]
指定第三方播放器默认为 mpv (https://mpv.io)
-s, --use-local-server
使用本地服务器播放。大于 5MB 的媒体文件无法直接播放,需要使用本地服务器播放
--encrypt-password, --ep TEXT
加密密码,默认使用用户设置的
上传文件
上传一些本地文件或目录到网盘目录。
BaiduPCS-Py 首先会尝试秒传。如果秒传失败,会使用分片上传上传文件。
上传过程中,按 “p” 可以暂停或继续上传。
BaiduPCS-Py upload [OPTIONS] [LOCALPATHS]... REMOTEDIR
指定上传方式:
--upload-type Many: 同时上传多个文件。
适合大多数文件长度小于 100M 以下的情况。
BaiduPCS-Py upload --upload-type Many [OPTIONS] [LOCALPATHS]... REMOTEDIR
--upload-type One: 一次只上传一个文件,但同时上传文件的多个分片。
适合大多数文件长度大于 1G 以上的情况。
BaiduPCS-Py upload --upload-type One [OPTIONS] [LOCALPATHS]... REMOTEDIR
指定同时上传连接数量:
--max-workers 默认为 CPU 核数。
BaiduPCS-Py upload --max-workers 4 [OPTIONS] [LOCALPATHS]... REMOTEDIR
注意:upload 上传本地目录有改变
小于 v0.6.8 的版本,如果上传本地目录 localdir 到远端目录 remotedir,BaiduPCS-Py 是将 localdir 下的所有文件(包括下级目录)上传到远端目录 remotedir 下。
比如,localdir 下有 2 个文件 a,b 和一个下级目录 sub/,如果运行 BaiduPCS-Py upload localdir remotedir,结果是远端目录 remotedir 下增加了 2 个文件 a,b 和一个下级目录 sub/。
大于或等于 v0.6.8 的版本,如果上传本地目录 localdir 到远端目录 remotedir,BaiduPCS-Py 是将 localdir 这个目录上传到远端目录 remotedir 下。
比如,localdir 下有 2 个文件 a,b 和一个下级目录 sub/,如果运行 BaiduPCS-Py upload localdir remotedir,结果是远端目录 remotedir 下增加了 1 个下级目录和它的所有文件 localdir/a,localdir/b 和一个下级目录 localdir/sub/。
如果要将 localdir 下的所有文件(包括下级目录)上传到远端目录 remotedir,用 BaiduPCS-Py upload localdir/* remotedir
选项
Option
Description
-t, --upload-type [One | Many]
上传方式,Many (默认): 同时上传多个文件,One: 一次只上传一个文件,但同时上传文件的多个分片
--encrypt-password, --ep TEXT
加密密码,默认使用用户设置的
-e, --encrypt-type [No | Simple | ChaCha20 | AES256CBC]
文件加密方法,默认为 No 不加密
-w, --max-workers INTEGER
同时上传文件连接数量,默认为 CPU 核数
--no-ignore-existing, --NI
上传已经存在的文件
--no-show-progress, --NP
不显示上传进度
--check-md5, --CM
分段上传后检查 md5。注意检查上传后大文件的 md5,可能会花数分中(2G 的文件需要大约 5 分钟)
同步本地目录到远端
同步本地目录到远端。
如果本地文件最后修改时间或大小和远端不同则上传文件。对于本地不存在的文件但远端存在则删除远端文件。
BaiduPCS-Py sync [OPTIONS] LOCALDIR REMOTEDIR
选项
Option
Description
--encrypt-password, --ep TEXT
加密密码,默认使用用户设置的
-e, --encrypt-type [No | Simple | ChaCha20 | AES256CBC]
文件加密方法,默认为 No 不加密
-w, --max-workers INTEGER
同时上传文件数
--no-show-progress, --NP
不显示上传进度
--check-md5, --CM
分段上传后检查 md5。注意检查上传后大文件的 md5,可能会花数分中(2G 的文件需要大约 5 分钟)
关于秒传
百度网盘在服务器上对于一份文件只储存一份。如果一份文件已经存在于百度网盘的服务器中,用户无需重新上传源文件,只需要提供文件的特征参数就可完成上传,这种上传文件的方法百度叫做“秒传”。
运用“秒传”的功能,我们将一份文件变成一组特征参数。只要获得这组特征参数,我们就可以在百度网盘中“生成”这组特征参数对应的唯一文件。
BaiduPCS-Py 可以获取百度网盘中文件的特征参数,并将其转化为一串连接。使用这个连接,使用者可以在任何帐号中“生成”对应文件,达到文件分享的功能。
BaiduPCS-Py 支持 3 种秒传连接(在 BaiduPCS-Py 叫 Hash Link)协议:
cs3l
cs3l 是 Content_md5 + Slice256k_md5 + content_crc32 + content_Length 的缩写。
格式: cs3l://<content_md5>#<slice_md5>#<content_crc32>#<content_length>#<filename>
例如: cs3l://ced58db7aedce8e1c887754fccccde03#0d02589467f34bdd86d08221e93b2783#2518837112#33251183#test.gz
BaiduPCS-Py 默认使用 cs3l 协议连接。
short
short 是 cs3l 格式的缩写版。最早出自于梦姬度盘标准提取码。
格式: <content_md5>#<slice_md5>#<content_length>#<filename>
例如: ced58db7aedce8e1c887754fccccde03#0d02589467f34bdd86d08221e93b2783#33251183#test.gz
bdpan
bdpan 是 pandownload 使用的协议连接。
格式: bdpan://{base64(<filename>|<content_length>|<content_md5>|<slice_md5>)}
例如: bdpan://Q29udGVudHMtYW1kNjQuZ3p8MzMyNTExODN8Y2VkNThkYjdhZWRjZThlMWM4ODc3NTRmY2NjY2RlMDN8MGQwMjU4OTQ2N2YzNGJkZDg2ZDA4MjIxZTkzYjI3ODM=
BaiduPCS-Py 会将在命令 ls,upload,sync,rp 中遇到的文件特征参数存储于本地 sqlite3 数据库 ~/.baidupcs-py/rapiduploadinfo.sqlite3。使用 rplist,rpsearch 命令可以查看这些信息。
显示网盘中文件的秒传连接
使用 ls 命令显示秒传连接默认会对文件进行秒传检查,已确认服务器是否已经将文件特征记录。
对于才上传的大文件,服务器不会立刻计算完文件的特征参数,这个过程可能持续数天的时间。在此期间秒传无法进行。
如果想略过秒传检查,用户可以用 --no-check-md5 选项。但这样生成的秒传连接可能是无效的。
注意:显示秒传连接需要请求文件 256KB 的内容。如果用户是非 svip 且请求的文件很多,那么这个过程要花很长时间。BaidPCS-Py 使用 10 个线程来请求,如果是非 svip,每个文件请求可能要花 5 秒。
# 默认显示 cs3l 协议连接
BaiduPCS-Py ls /path/to/file --show-hash-link
# 或者用 --show-hash-link 缩写 --HL
BaiduPCS-Py ls /path/to/file --HL
指定特定协议:
BaiduPCS-Py ls /path/to/file --show-hash-link --hash-link-protocol bdpan
如果连接过长,可以加选项 --csv,让输出变为 csv 格式。
BaiduPCS-Py ls /path/to/file --show-hash-link --csv
列出保存的文件秒传信息
BaiduPCS-Py rplist [OPTIONS] [IDS]...
如果不给出 ids,默认为对所有数据进行操作。
选项
Option
Description
-f, --filename
按文件名排序
-t, --time
按时间排序
-s, --size
按文件大小排序
-l, --localpath
按本地名排序
-r, --remotepath
按远端名排序
-u, --userid
按用户 id 排序
-n, --username
按用户名排序
-d, --desc
按逆序排序
-L, --limit INTEGER
限制列出文件个数
-O, --offset INTEGER
列出偏移位
--hash-link-protocol, --HLP [cs3l | short | bdpan]
hash link 协议, 默认 cs3l
--show-all, -A
显示文件所有信息
--only-hash-link, --OHL
只显示文件秒传连接
搜索保存的文件秒传信息
BaiduPCS-Py rpsearch [OPTIONS] KEYWORD
选项
Option
Description
--filename, --fn
在文件名中搜索
--localpath, --lp
在本地路径中搜索
--remotepath, --rp
在远端路径中搜索
--username, --un
在用户名中搜索
-m, --md5
在 md5 中搜索。注意保存的文件 md5 都是小写字符
--hash-link-protocol, --HLP [cs3l | short | bdpan]
hash link 协议, 默认 cs3l
--show-all, -A
显示文件所有信息
--only-hash-link, --OHL
只显示文件秒传连接
用秒传连接或参数上传
BaiduPCS-Py rp [OPTIONS] [REMOTEDIR]
使用秒传连接:
# 将秒传连接指向的文件保存到远端路径 /path/to/save
BaiduPCS-Py rp /path/to/save --link 'cs3l://ced58db7aedce8e1c887754fccccde03#0d02589467f34bdd86d08221e93b2783#2518837112#33251183#test.gz'
BaiduPCS-Py rp /path/to/save --link 'ced58db7aedce8e1c887754fccccde03#0d02589467f34bdd86d08221e93b2783#33251183#test.gz'
BaiduPCS-Py rp /path/to/save --link 'bdpan://Q29udGVudHMtYW1kNjQuZ3p8MzMyNTExODN8Y2VkNThkYjdhZWRjZThlMWM4ODc3NTRmY2NjY2RlMDN8MGQwMjU4OTQ2N2YzNGJkZDg2ZDA4MjIxZTkzYjI3ODM='
从指定文件获取要使用的秒传连接,文件中一行一个秒传连接。
BaiduPCS-Py rp /path/to/save --input-file links.txt --max-workers 5
使用特征参数:
BaiduPCS-Py rp /path/to/save \
--content-md5 'ced58db7aedce8e1c887754fccccde03' \
--slice-md5 '0d02589467f34bdd86d08221e93b2783' \
--content-length '33251183' \
--filename 'test.gz'
如果同时有 --link 和 --filename,那么 --filename 值将代替 link 中的文件名。
选项
Option
Description
-l, --link TEXT
cs3l:// 协议连接 或 简化连接
-i, --input-file TEXT
从指定文件获取要使用的秒传连接;只能是一行一个秒传连接
--slice-md5, --sm TEXT
文件前 256KB md5
--content-md5, --cm TEXT
文件 md5
--content-crc32, --cc INTEGER
文件 crc32, 可以为空
--content-length, --cl INTEGER
文件长度
--filename, --fn TEXT
文件名,如果这里设置了,将会覆盖 link 中的文件名
--no-ignore-existing, --NI
上传且覆盖已经存在的文件
-w, --max-workers INTEGER
同时上传文件数
分享文件
注意:使用这个命令需要 cookies 中含有 STOKEN 值。
BaiduPCS-Py share [OPTIONS] [REMOTEPATHS]...
选项
Option
Description
-p, --password TEXT
设置秘密,4 个字符。默认没有秘密
--period-time, --pt INTEGER
设置分享有效期,单位为天
列出分享链接
BaiduPCS-Py shared
选项
Option
Description
-A, --show-all
显示所有分享的链接,默认只显示有效的分享链接
取消分享链接
BaiduPCS-Py cancelshared [OPTIONS] [SHARE_IDS]...
列出其他用户分享链接中的文件
注意:使用这个命令需要 cookies 中含有 STOKEN 值。
BaiduPCS-Py listsharedpaths [OPTIONS] SHARED_URL
选项
Option
Description
-p, --password TEXT
链接密码,如果没有不用设置
--no-show-vcode, --NV
不显示验证码,如果需要验证码则报错
保存其他用户分享的链接
注意:使用这个命令需要 cookies 中含有 STOKEN 值。
保存其他用户分享的链接到远端目录。
BaiduPCS-Py save [OPTIONS] SHARED_URL REMOTEDIR
选项
Option
Description
-p, --password TEXT
链接密码,如果没有不用设置
--no-show-vcode, --NV
不显示验证码,如果需要验证码则报错
添加离线下载任务
BaiduPCS-Py add [TASK_URLS]... REMOTEDIR
百度网盘支持添加 magnet 和 http/s 的离线任务。
如果添加 magnet 连接需要指定要下载的文件类型:
m: 媒体文件 (默认)
i: 图片文件
d: 文档文件
c: 压缩文件
a: 所有文件
比如,要下载所有的媒体文件和文档文件:
BaiduPCS-Py add 'magnet:?xt=urn:btih:8e54536d364ad24f8a9b7ab0c08d52436341f131' /to/path --file-type 'm,d'
选项
Option
Description
-t, --file-type TEXT
要下载的文件类型,m:媒体文件,i:图片文件,d:文档文件,c:压缩文件,a:所有文件。用','分割。
列出离线下载任务
# 列出所有离线下载任务
BaiduPCS-Py tasks
# 也可列出给定id的任务。
BaiduPCS-Py tasks [TASK_IDS]...
清除已经下载完和下载失败的任务
BaiduPCS-Py cleartasks
取消下载任务
BaiduPCS-Py canceltasks [TASK_IDS]...
删除所有离线下载任务
BaiduPCS-Py purgetasks
选项
Option
Description
--yes
确认并直接运行
开启 HTTP 服务
在远端 ROOT_DIR 目录下开启 HTTP 服务。
ROOT_DIR 默认为 /
BaiduPCS-Py server [OPTIONS] [ROOT_DIR]
如果需要设置认证,使用下面的选项设置用户名和密钥:
BaiduPCS-Py server [ROOT_DIR] --username 'foo' --password 'bar'
也可以指定服务路径:
BaiduPCS-Py server [ROOT_DIR] --path '/my/pan'
# 访问 http://localhost:8000/my/pan/
选项
Option
Description
--path TEXT
服务路径,默认为 “/”
-h, --host TEXT
监听 host
-p, --port INTEGER
监听 port
-w, --workers INTEGER
进程数
--encrypt-password, --ep TEXT
加密密码,默认使用用户设置的
--username TEXT
HTTP Basic Auth 用户名
--password TEXT
HTTP Basic Auth 密钥
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.