蓝奏云网盘API 2.0
蓝奏云注册
更新说明
- 修复了登录时
formhash
错误的问题 - 解决了多次上传大文件被限制的问题 #3
- 细化 API 接口的功能,某些接口被取消、更名
- 操作网盘时会进行检查,屏蔽蓝奏云不合理的设计
- 支持批量上传/下载
- 上传大文件不再直接将数据分段,改用 RAR 分卷压缩 #2
- 取消使用
种子文件
下载大文件,自动识别分卷压缩文件并解压 - 上传/下载时支持使用回调函数显示进度 #1
- 不再向上抛异常,而是返回错误码
简介
本库封装了对蓝奏云的基本操作: 登录、列出文件、下载文件、上传文件、删除文件(夹)、
清空回收站、恢复文件、创建文件夹、设置文件(夹)访问密码、直链解析此外,通过伪装后缀名,解决了蓝奏云的上传格式限制。
通过分卷上传,解决了单文件最大 100MB 的限制。同时增加了批量上传/下载的功能如果有任何问题或建议,欢迎提 issue。最后,求一个 star (≧∇≦)ノ
安装依赖库
pip install requests requests_toolbelt
Windows 平台可使用项目文件中的 rar.exe
作为解压工具,Linux 平台需安装 rar
sudo apt install rar
API 文档
.login(username, passwd)
username | str | 用户名 | Y |
passwd | str | 登录密码 | Y |
示例 :
from api.lanzou import LanZouCloud
lzy = LanZouCloud()
code = lzy.login('username', 'passwd')
if code == LanZouCloud.SUCCESS:
print('登录成功')
返回值 :
- 成功返回 :
LanZouCloud.SUCCESS
- 失败返回 :
LanZouCloud.FAILED
.logout()
示例 :
code = lzy.logout()
if code == LanZouCloud.SUCCESS:
print('注销成功')
返回值 :
- 成功返回 :
LanZouCloud.SUCCESS
- 失败返回 :
LanZouCloud.FAILED
.get_dir_list(folder_id)
folder_id | int | 文件夹id | N | 默认-1 (根目录) |
示例 :
# 列出 id 为 1037070 的文件夹的子文件夹
sub_dirs = lzy.get_dir_list(1037070)
print(sub_dirs)
返回值:
{
"娱乐": 1037080,
"科幻": 1037083,
"纪录片": 1037084,
"游戏改": 1037085
}
.get_file_list(folder_id)
folder_id | int | 文件夹id | N | 默认-1 (根目录) |
示例 :
file_list = lzy.get_file_list(1037070)
print(file_list)
注意 : 添加了伪装后缀名的文件,伪装后缀会被自动去除
返回值 :
{
"Valentin - A Little Story.mp3":{
"id": 12741016, # 文件 id
"name": "Valentin - A Little Story.mp3", # 文件名
"time": "昨天15:27", # 上传时间
"size": "8.0 M", # 文件大小
"downs": 6, # 下载次数
"has_pwd": False, # 是否设置提取码
"has_des": True # 是否设置描述
},
"小清水亜美 - 玻璃の空.mp3":{
"id": 12740874,
"name": "小清水亜美 - 玻璃の空.mp3",
"time": "昨天15:24",
"size": "10.7 M",
"downs": 0,
"has_pwd": False,
"has_des": False
}
}
.get_file_list2(folder_id)
folder_id | int | 文件夹id | N | 默认-1 (根目录) |
示例 :
file_list = lzy.get_file_list2(1037070)
print(file_list)
返回值 :
{
"Valentin - A Little Story.mp3": 12741016,
"小清水亜美 - 玻璃の空.mp3": 12740874
}
.get_full_path(folder_id)
folder_id | int | 文件夹id | N | 默认-1 (根目录) |
示例 :
# 路径: /视频/电影/娱乐 "娱乐"文件夹 id 为 1037080
full_path = lzy.get_full_path(1037080)
print(full_path)
返回值 :
{
"LanZouCloud": -1,
"视频": 1033205,
"电影": 1037070,
"娱乐": 1037080
}
.delete(fid)
fid | int | 文件(夹)id | Y | - |
示例 :
code = lzy.delete(12741016)
if code == LanZouCloud.SUCCESS:
print('删除成功')
返回值 :
- 成功返回 :
LanZouCloud.SUCCESS
- 失败返回 :
LanZouCloud.FAILED
注 :
- 无法删除含有子文件夹的文件夹,但含有文件的可以删除。
- 重复删除同一个 id 仍返回 :
LanZouCloud.SUCCESS
- 删除不存在的 id 也返回 :
LanZouCloud.SUCCESS
- 这都是蓝奏云的锅,与我无关