百度网盘扩容自动化
很久前,就知道百度网盘扩容这么一回事,就是给你的百度网盘存入超过空间的文件
目前我分享的课程也是通过这种方式来存的(要不然你以为我这么这么多空间)
一些商家也付费提供着需要授权码的软件,但白嫖才是正道。
但是现有手工操作过于麻烦,了解到相关知识后,我得知了百度网盘扩容原理,因此我抓包百度网盘相关接口自己写了一个自动化的扩容程序,
包含扩容和修复两部分。
需要的工具:占位文件,百度网盘客户端,浏览器,一个会员百度网盘账号(会员才有垃圾清理功能)
注意事项:请使用一个小号,据说扩容可能会封号(网上流传超过80t概率封号,我没封过不知道是不是真的)
本篇文章暂时先简略写着记录一下,后续优化后有详细过程。
扩容
目前网上扩容的原理无非就是利用百度网盘的垃圾文件清理功能,
通过特定操作来删除垃圾文件
从而来实现网盘的容量减少,存入的文件容量增加
手工操作过程如下(这里不细讲,也不放图了,提供大致流程)
- 保存10个文件到文件夹【working】
- 清理文件夹【working】,并获取垃圾文件列表
- 删除【working】文件夹内所有文件
- 删除垃圾文件(此时空间容量会减少)
但是手工的方式过于繁琐,使用Python可极大程度方便使用
扩容代码大致如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| def kuorong(): """ 1.保存10个文件到文件夹【working】 2.清理文件夹【working】,并获取垃圾文件列表 3.删除文件夹内所有文件 4.删除垃圾文件 5.保存一个5T的文件夹 :return: None """ save("[690435813055101,26598162122456,1020496199701393,644765167361037,261696681183572,132504979092525,169677771677732,829587079548271,260890747525505,111657973573120]", '/占位/working')
taskid = clear('/占位/working')["taskid"] print("正在清理重复文件,taskid:%s" % taskid) query = garbagetaskquery(taskid) while query["status"] == "running": print("**当前进度:%s" % query["progress"], end="**") time.sleep(3) query = garbagetaskquery(taskid) print("整理文件完成")
delete('["/占位/working/xwangpan10","/占位/working/xwangpan06","/占位/working/xwangpan09","/占位/working/xwangpan08","/占位/working/xwangpan05","/占位/working/xwangpan03","/占位/working/xwangpan04","/占位/working/xwangpan01","/占位/working/xwangpan07","/占位/working/xwangpan02","/占位/working/xwangpan02(1)","/占位/working/xwangpan07(1)","/占位/working/xwangpan05(1)","/占位/working/xwangpan04(1)","/占位/working/xwangpan09(1)","/占位/working/xwangpan01(1)","/占位/working/xwangpan06(1)","/占位/working/xwangpan10(1)","/占位/working/xwangpan08(1)","/占位/working/xwangpan03(1)"]')
save("[690435813055101,26598162122456,1020496199701393,644765167361037,261696681183572,132504979092525,169677771677732,829587079548271,260890747525505,111657973573120]", '/占位/working')
json = get_garbagelist(taskid) garbage_list = [] for i in json["list"][0]["data"]: file = '{"fs_id": "%s", "index": %s}' % (i['fs_id'], str(i['index'])) garbage_list.append(file) print("获取删除列表成功", str(garbage_list).replace("'", "")) garbage_delete(taskid, str(garbage_list).replace("'", ""))
save('[1054623448621227]', "/占位")
|
修复
扩容之后第二天基本都会爆盘,就是你的空间已经超出最大容量了,无法存入资料了,
加入你存进网盘的资料不需要更新,那么你就不需要修复了,可以正常使用文件分享功能,
如果你需要继续存文件,就要使用修复了。
修复的原理则是利用百度网盘客户端的移入隐私空间,然后清理垃圾文件来实现修复。
手工操作大致流程如下(这里不细讲,也不放图了,提供大致流程):
- 清理文件夹【修复】,并获取垃圾文件列表
- 把文件夹【修复】移入隐藏空间
- 删除垃圾文件
- 移出隐藏空间
代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| def fix(): """ 1.清理垃圾,获取taskid 2.查询进度 3.获取删除列表 4.进行删除操作 """ taskid = clear('/修复')["taskid"] print("正在清理重复文件,taskid:%s" % taskid)
query = garbagetaskquery(taskid) while query["status"] == "running": print("**当前进度:%s" % query["progress"], end="**") time.sleep(3) query = garbagetaskquery(taskid) json = get_garbagelist(taskid) garbage_list = [] for i in json["list"][0]["data"]: file = '{"fs_id": "%s", "index": %s}' % (i['fs_id'], str(i['index'])) garbage_list.append(file) print("获取删除列表成功", str(garbage_list).replace("'", ""))
move_info = move("/修复", "/_pcs_.safebox", "修复") if move_info["errno"] == 0: print("移入隐藏空间成功", move_info) else: print("移入隐藏空间失败", move_info) garbage_delete(taskid, str(garbage_list).replace("'", ""))
|
但是代码写的时候遇到了问题,就是移出隐藏空间的包抓取不了,应该是百度网盘进行相关加密了
也就是说修复完需要手动把文件移出隐藏空间(算个小瑕疵了)
不过最近我了解到一种不需要隐藏空间移动的方法,待我有空验证可行性在吧这种方法写成Python,完美实现自动化操作
目前代码虽然已经完成,但是未考虑到分享给广大用户(因为代码如果你们使用会有太多限制,代码很多操作都是根据我自己网盘实际情况来写的),后续(我很懒)优化代码后可能会考虑写个Gui图形界面,分享给你们使用。
附各函数功能说明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
def get_bdstoken():
def save(fs_ids, file_dir):.
def delete(file_dir):
def move(form_file, to_file, newname):
def taskquery(taskid):…
def garbagetaskquery(taskid):
def clear(filedir):
def get_garbagelist(taskid):
def garbage_delete(taskid, garbagelist):
def fix():
def kuorong()
if __name__ == '__main__': pc_cookie = '填写你的pc_cookie' cookie = '填写你的cookie’ bdstoken = get_bdstoken() # fix() # kuorong()
|