Package: lanzou-api
- 蓝奏云API -简介本库封装了蓝奏网盘的基础功能: 登录、注销、获取文件(夹)列表、下载文件、上传文件、删除文件(夹)、
移动文件、清空回收站、恢复文件(夹)、创建文件夹、设置文件(夹)访问密码、设置文件(夹)描述解决了蓝奏云的上传格式限制和单文件大小限制，同时增加了以下功能: 批量上传/下载文件、
上传/下载时断点续传、清理"幽灵"文件夹、移动文件夹、获取下载直链如果有任何问题或建议, 欢迎提 issue, 维护不易，求一个 star (*/ω＼*)免责声明本项目仅供个人学习使用，严禁用于商业用途本项目没有任何担保，如果您使用这些代码，您必需承担其带来的风险API 文档dev分支用于修复错误，待稳定后再推到master分支master分支将自动发布到 PyPI，使用pip install lanzou-api即可安装API 文档请查看wiki页面更新日志v2.6.9修复上传成功后文件名不完整问题#95v2.6.8修复分享链接带有webpage参数时无法下载的问题#81v2.6.7修复分享链接带有webpage参数时无法下载的问题#74v2.6.6修复 pickle 库反序列化导致内存溢出的问题#65更换为最新域名, 防止解析失败#68v2.6.5修复蓝奏云主域名解析异常的问题#59#60v2.6.4修复无法获取分享文件夹信息的问题#58v2.6.3修复下载页的 Cookie 验证问题#55v2.6.2修复文件后缀非小写导致的误判问题#92v2.6.1修复下载某些 txt 文件失败的问题#53修复判断文件(夹)是否存在提取码功能异常的问题v2.6.0修复无法上传文件的问题#52修复login()函数(只对某些用户有效)#50新增 11 种允许上传的文件格式#90修复会员自定义文件夹 URL 识别错误的问题#84v2.5.8修复部分网络环境下无法工作的问题#44v2.5.7修复 VIP 用户分享的递归文件夹无法下载的问题#49修复用户描述中带字符串请输入密码而文件没有设置提取码导致误判的问题get_folder_info_by_url()、get_folder_info_by_id()返回值中添加了子文件夹信息,
见API文档down_dir_by_id()和down_dir_by_url()函数增加参数recursive用于递归下载子文件夹,
见API文档v2.5.6修复文件删除后解析无效分享链接崩溃的问题#36下载同名文件时重命名优化#37v2.5.5修复下载两个同名文件时断点续传功能异常的问题#35下载函数新增overwrite参数，确定是否覆盖本地文件(默认不覆盖,自动重命名)下载函数新增downloaded_handler参数，可设置回调函数处理下载完成的文件, 具体见API文档修复蓝奏云将文件名敏感词(小姐)替换为*导致无法创建文件的问题修复文件大小中出现,导致无法完整匹配文件大小的问题v2.5.4解决了下载时出现的验证问题，不需要手动识别图形验证码，因此去除了set_captcha_handler()方法#32取消使用f-string debug特性，向下兼容 Python3.6#30v2.5.3修复 URL 包含大写字符无法匹配的问题#28v2.5.2修复子域名不存在导致链接判断失误的问题#26v2.5.1修复蓝奏云域名变更导致的链接判断失误的问题#25v2.5.0新增函数ignore_limits(), 解除官方限制(默认关闭状态, 不允许上传大文件, 文件格式限制)解除官方限制, 意味着您要承担由此带来的风险用户名密码登录失效, 请使用 cookie 登录v2.4.5修复蓝奏云自定义域名文件无法下载的问题修复新用户调用get_move_folders()崩溃的问题上传大文件时，临时数据块文件即时删除，避免占用空间upload_file()函数增加回调函数uploaded_handler用于进一步处理上传完成的文件(对大文件而言是文件夹
, 其中的数据文件默认关闭密码), 详情参考 API 文档或者源码注释upload_dir()函数增加回调函数uploaded_handler用于进一步处理上传完成的文件夹新增函数set_upload_delay()用于设置上传大文件数据块时的延时, 减小被官方封号的可能性v2.4.4修复蓝奏云 js 含有注释导致匹配文件信息错误的问题修复is_file_url()、is_folder_url()、get_file_info_by_url()无法正确处理 VIP 用户分享页面的问题修复上传大文件自动创建文件夹名包含mkdir字符串后缀的问题(这不是feature，只是测试时无意中写到代码里了－_－)v2.4.3上传/下载时支持断点续传(包括大文件)降低了下载大文件时出现验证码的可能性(dwg、gho等后缀容易触发验证码)调整了数据分段大小的权重，降低数据块平均大小(便于上传时断点续传)修复get_file_info_*()无法获取某些文件的文件名和日期的问题修复get_full_path()可能碰到无效数据导致崩溃的问题新增clean_ghost_folders()用于清理网盘中的"幽灵文件夹"(不在网盘和回收站显示的文件夹,移动文件时可以看见,文件移进去就丢失)新增set_captcha_handler()用于处理下载时的验证码校验新增delete_rec_multi()用于批量删除文件(夹)新增recovery_multi()用于批量恢复文件(夹)新增recovery_all()用于恢复全部文件(夹)v2.4.2紧急修复了蓝奏云网页端变化导致get_full_path()和get_dir_list()失效的 Bugv2.4.1修复使用 URL 下载时，记录文件被误判为普通文件，导致异常截断的问题修复上传小文件时没有去除文件名中非法字符的问题2.4.0更新说明放弃分段压缩，使用更复杂的方式上传大文件。分段数据文件名、文件大小、文件后缀随机，下载时自动处理。放弃使用修改文件名的方式绕过上传格式限制。上传的文件末尾被添加了 512 字节的信息，储存真实文件名，
下载时自动检测并截断，不会影响文件 hash。一般情况下，不截断此信息不影响文件的使用，但纯文本类文件会受影响(比如代码文件)，
建议压缩后上传。API 不再返回dict，减少大量使用result['attr']方式取值，而是返回namedtuple，直接使用result.attr取值。获取文件(夹)列表不再返回list，而是返回FileList或FolderList对象，支持list的操作，同时支持find_by_id()find_by_name()、filter()、pop_by_id()等方法查找和筛选数据。get_file_id_list()、get_dir_id_list()废弃，直接访问ListObj.name_id属性即可。get_folders_id_name()、get_folders_name_id()被废弃，使用get_move_folders()获取网盘全部文件夹列表(FolderList对象)，
使用get_move_paths()获取网盘全部文件夹的绝对路径列表(排序好的list)，因此支持在不同路径下创建同名文件夹上传下载大文件时隐藏更多细节，回调函数只显示一个文件。数据切片由生成器实现，边上传边切片数据，减少等待时间。下载时按顺序写入一个文件，无需再次合并。批量上传下载时，使用回调函数failed_callback()即时处理失败文件，不再等待全部任务完成后返回失败列表。2.3.5更新说明修复发送请求时timeout无效的问题#7修复回收站文件夹中文件名过长，导致后缀丢失，程序闪退的问题#14修复回收站存在多个文件重复时，序号添加不合理的问题修复官方启用滑动验证导致无法登录的问题#152.3.4更新说明修复了官方对.wtf[0-9]+.rar分卷后缀限制#11#12新增函数move_folder()支持移动文件夹新增函数set_max_size()允许修改单个文件大小限制(会员用户)#9新增函数rename_file()支持修改文件名(会员用户)修复了函数get_rec_all()在某些情况下崩溃的问题函数get_folder_id_list()重命名为get_folders_name_id()新增函数get_folders_id_name()以应对用户手动创建同名文件夹带来的问题上传时不再自动删除文件名中空格, 自动转换\xa0，\u3000为英文空格函数down_dir_by_url()、down_dir_by_id()增加参数mkdir=True, 下载时自动创建子文件夹修复文件日期错误#82.3.3更新说明修复上传超过 1GB 的文件时，前 10 个分卷丢失的 Bug#72.3.2更新说明修复了文件无法上传的 Bug解除了官方对文件名包含多个后缀的限制允许使用 cookie 登录2.3.1更新说明开放了对is_file_url()和is_folder_url()两个函数的调用修复了文件夹深度达到 4 层时get_full_path()报错的问题mkdir()创建文件夹时会检查是否有同名文件夹，有的话加上_后缀get_folder_id_list()返回的文件夹中加入了根目录信息{LanZouCloud: -1}2.3.0更新说明重新封装了_get()、_post()方法，防止弱网环境炸出一堆网络异常导致程序崩溃文件的上传时间统一为%Y-%m-d格式，不再使用蓝奏云显示的N小时前、N天前、前天之类词语变更的函数get_dir_list()返回的信息增多，格式dict->listget_file_list()返回的信息增多，格式dict->listget_share_info()返回的信息增多list_recovery()被移除rename_dir()功能减少，仅用作重命名文件夹更名的函数get_file_list2()->get_file_id_list()get_dir_list2()->get_dir_id_list()get_direct_url()->get_durl_by_url()get_direct_url2()->get_durl_by_id()download_file()->down_file_by_url()download_file2()->down_file_by_id()set_share_passwd()->set_passwd()clean_recovery()->clean_rec()新增的函数get_rec_dir_list()获取回收站文件夹信息列表get_rec_file_list()获取回收站文件信息列表get_rec_all()获取整理后的回收站全部信息delete_rec()彻底删除回收站文件(夹)get_folder_id_list()获取全部文件夹 id 列表get_folder_info_by_url()获取文件夹及其文件信息get_folder_info_by_id()获取文件夹及其文件信息get_file_info_by_url()获取文件信息get_file_info_by_id()获取文件信息set_desc()设置文件(夹)描述信息本次更新内容较多，其它诸多细节不再列举，具体变更请查看 wiki 页的 API 文档v2.2.2更新说明修复无提取码文件夹无法下载的问题修复文件夹、文件链接判断不完整的问题get_dir_list()函数返回文件夹详细信息get_dir_list2()函数返回文件夹"name-id"列表文档转至 wiki 页面v2.2.1更新说明API 发布到 PyPI ，直接使用pip install lanzou-api即可安装依赖v2.2更新说明修复了文件和文件夹 id 冲突的问题(导致部分 API 接口参数变化)修复了蓝奏云网页变化导致文件(夹)无法下载的问题#4修复了上传 rar 分卷文件被 ban 的问题修复了无后缀文件上传出错的问题修复了文件中空白字符导致上传和解压失败的问题修复偶尔出现的 SSL 握手错误v2.1更新说明修复了蓝奏云分享链接格式变化导致无法获取直链的问题v2.0更新说明修复了登录时formhash错误的问题解决了多次上传大文件被限制的问题#3细化 API 接口的功能，某些接口被取消、更名操作网盘时会进行检查，屏蔽蓝奏云不合理的设计支持批量上传/下载上传大文件不再直接将数据分段，改用 RAR 分卷压缩#2取消使用种子文件下载大文件，自动识别分卷压缩文件并解压上传/下载时支持使用回调函数显示进度#1不再向上抛异常，而是返回错误码