兰空图床(lsky-pro)V2.1的自动删除全部图片

lsky-pro,一个很好用的自由图创平台,可惜没有批量删除照片功能,自己使用的时候,有时需要测试,想重来的时候一个一个点也删除属实太难受了,花了一丢丢时间根据官方API写了一个批量删除的小程序。

仓库地址GitHub - lsky-org/lsky-pro: ☁️兰空图床(Lsky Pro) - Your photo album on the cloud.

兰空图床(lsky-pro)V2.1的自动删除全部图片_第1张图片 

代码很简单,只实现了最核心的删除全部图片功能,加入了接口请求过快重传机制,保证给你删干净,v2.0开始Authorization需要自己发http请求获取(网上教程很多),请务必按照提供的这个格式填写,Bearer 和后面的空格不能删去。

import time
import requests

head = { # 下方填入自己的token
    "Authorization": "Bearer x|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "Accept": "json"}
url = "https://image.demo.com/api/v1/images" # 填入你的域名或服务器加端口

s = requests.session()
s.keep_alive = False  # 防止请求过多

res = requests.get(url, headers=head)
last_page = res.json()["data"]["last_page"]  # 获取页数

key_dict = []
for page in range(last_page):
    print("正在获取第 %d 页数据" % (page + 1))
    param = {"page": page + 1}
    key_result = requests.get(url, headers=head, params=param)

    res = key_result.json()["data"]["data"]
    for i in res:
        key_dict.append(i["key"])

print("一共获取到 %s 页数据,共 %d 张图片" % (last_page, len(key_dict)))
time.sleep(3)

count = 0
while count != len(key_dict):
    print("删除第 %d 张图片" % (count + 1))
    url_delete = url + "/" + key_dict[count]
    print(url_delete)
    del_param = {"key": key_dict[count]}
    del_result = requests.delete(url_delete, headers=head, params=del_param)
    count += 1
    print(del_result.json())
    if not del_result.json()["status"]: # 判断删除状态
        count -= 1
        print(count)
        print("接口请求过快,5秒后重试")
        time.sleep(5)

 运行结果如下:

兰空图床(lsky-pro)V2.1的自动删除全部图片_第2张图片

兰空图床(lsky-pro)V2.1的自动删除全部图片_第3张图片

 

 

你可能感兴趣的:(python)