lsky-pro,一个很好用的自由图创平台,可惜没有批量删除照片功能,自己使用的时候,有时需要测试,想重来的时候一个一个点也删除属实太难受了,花了一丢丢时间根据官方API写了一个批量删除的小程序。
仓库地址GitHub - lsky-org/lsky-pro: ☁️兰空图床(Lsky Pro) - Your photo album on the cloud.
代码很简单,只实现了最核心的删除全部图片功能,加入了接口请求过快重传机制,保证给你删干净,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)
运行结果如下: