chinni 大佬有话说 :
天翼云 1080个共享转存统计(附自动脚本)
本帖最后由 chinni 于 2020-4-24 16:04 编辑
大佬分享了 1080个 动画
然后用脚本批量 转存后统计如下
共享1080个文件夹
总大小
大概 4.5T 脚本计算中
下面是使用的脚本, 分页已改进
import requests
import hjson
import urllib.parse
import json
import time
def _main():
h = {
"Cookie": "COOKIE_LOGIN_USER=<token>"
}
done = 1
for pp in range(1, 200):
req = requests.get(
‘https://cloud.189.cn/v2/listPublicShare.action?userId=330783715&mediaType=0&orderBy=filename&order=ASC&pageNum=%s&pageSize=10’ % pp
, headers=h)
j = hjson.loads(req.content.decode())
if len(j[‘data’]) == 0:
print(‘break’)
break
for a in j[‘data’]:
print(‘%s/%s’ % (done, int(j[‘recordCount’])))
id = a["fileId"]
name = str(a["fileName"])
sid = a["shareId"]
fo = a["isFolder"]
t = [{"fileId": id, "fileName": name, "isFolder": 1 if fo else 0}]
jdata = json.dumps(t, ensure_ascii=False).replace(‘ ‘, ”)
data = ”
data += ‘type=SHARE_SAVE’
data += ‘&taskInfos=’ + str(urllib.parse.quote(jdata))
data += ‘&targetFolderId=<目标文件夹ID>’
data += ‘&shareId=’ + str(sid)
ih = h
ih[‘Content-Type’] = ‘application/x-www-form-urlencoded; charset=UTF-8’
resp = requests.post(‘https://cloud.189.cn/createBatchTask.action’, headers=ih, data=data)
print(name, resp.content.decode())
done += 1
time.sleep(0.5)
if __name__ == ‘__main__’:
_main()
使用的同学记得改ID和 cookie
但是最后我检查的时候 转存后只有1077个文件夹.脚本输出 1080个都调用接口成功了 不知道具体哪个失败了
经过比对 1080里 去重名字后 只有1077个,完美
重复的3个名字为
KOWABON
变态王子与不笑猫[后宫]
魔王勇者
实际json 返回里 也返回了2个重复的 魔王勇者
大概在页大小500的情况下的第三页
Eicky 大佬有话说 :
大佬牛逼
天行九歌 大佬有话说 :
mark
两位不知名网友 大佬有话说 :
战略性mark,zsbd
elvis2003 大佬有话说 :
2T的盘装不下,这个是大问题
future 大佬有话说 :
mark
两位不知名网友 大佬有话说 :
不是300个文件夹?
xiaoque 大佬有话说 :
大佬牛p
yifast07 大佬有话说 :
迟来的脚本 手动保存完了4t的硬盘还差点:Q
yeshang 大佬有话说 :
后排问下 怎么用啊