用户:
小邓学编程查看:19 回复:5 评论:19 创建时间:2021-03-30T20:59:49
作品名称:Bilibili图片批量下载器
版本:V1.0(紧急修改版)
介绍:这是一个可以通过序号来自动定位并下载的程序,如果你发现了一些有效序号,可以把序号和内容发在评论区
下载地址喵ikeUYnhgl7e
========================================
源代码
import request
import json
import os
import time
from urllib.request import urlopen
int1 = input("输入一个序号:")
print("获取程序路径 . . .")
file = ""
for path in __file__.split("\\")[:-1]:
file += path
file += "\\"
print("创建储存库 . . .")
os.system(f"mkdir {int1}")
print("获取信息 . . .")
request = request.get(f"https://www.bilibili.com/activity/web/view/data/{int1}")
print("解析数据 . . .")
text = json.loads(str(request.text))
print("获取信息 . . .")
plist = text["data"]["list"]
how = len(plist)
print(f"一共{how}个项目,程序将在1秒后开始下载")
time.sleep(1)
now = 0
start = time.time()
out = 0
for pjson in plist:
f = open(f"{file}{int1}\\{pjson['id']}.jpg","wb")
try:
mode = 0
url = pjson["data"]["img"]
except:
try:
url = pjson["data"]["image"]
except:
mode = 1
url = pjson["img"]
url = url.replace(r"\/","/")
if mode == 0:
url = url.replace(r"//","https://")
elif mode == 1:
pass
try:
f.write(urlopen(url).read())
except:
out += 1
f.close()
now += 1
print(f"已完成:{now}/{how},失败: {out} ,用时", time.time() - start, "秒")
print("下载完成")
os.system("pause")