mirror of
https://github.com/KimigaiiWuyi/GenshinUID.git
synced 2025-05-31 04:30:29 +08:00
修复:活动列表时间 fix #116
This commit is contained in:
parent
47a9595785
commit
5d11ec7998
51
get_image.py
51
get_image.py
@ -3,6 +3,7 @@ import os
|
||||
import random
|
||||
import threading
|
||||
import time
|
||||
from bs4 import BeautifulSoup
|
||||
from base64 import b64encode
|
||||
from io import BytesIO
|
||||
from re import findall
|
||||
@ -1300,31 +1301,31 @@ async def draw_event_pic():
|
||||
for k in data:
|
||||
for i in raw_time_data["data"]["list"]:
|
||||
if k["title"] in i["title"]:
|
||||
time_data = findall(r"[0-9]{4}/[0-9]{2}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}", i["content"])
|
||||
time_limit_end = findall(r"起至[0-9].[0-9]版本结束", i["content"])
|
||||
time_limit_start = findall(r"[0-9].[0-9]版本更新后 ~", i["content"])
|
||||
if len(time_data) == 2:
|
||||
k["act_begin_time"] = time_data[0]
|
||||
k["act_end_time"] = time_data[1]
|
||||
elif len(time_data) == 1 and len(time_limit_end) == 1:
|
||||
k["act_begin_time"] = time_data[0]
|
||||
k["act_end_time"] = time_limit_end[0]
|
||||
elif len(time_data) == 1 and len(time_limit_start) == 1:
|
||||
k["act_begin_time"] = time_limit_start[0][:-2]
|
||||
k["act_end_time"] = time_data[0]
|
||||
elif len(time_data) == 1:
|
||||
k["act_begin_time"] = time_data[0]
|
||||
k["act_end_time"] = "永久开放"
|
||||
elif len(time_data) > 2:
|
||||
k["act_begin_time"] = time_data[0]
|
||||
k["act_end_time"] = k["end_time"]
|
||||
elif len(time_data) == 0:
|
||||
k["act_begin_time"] = k["start_time"] + "(?)"
|
||||
k["act_end_time"] = k["end_time"] + "(?)"
|
||||
|
||||
content_bs = BeautifulSoup(i['content'], 'lxml')
|
||||
for index,value in enumerate(content_bs.find_all("p")):
|
||||
if value.text == "〓任务开放时间〓":
|
||||
time_data = content_bs.find_all("p")[index+1].text
|
||||
if "<t class=" in time_data:
|
||||
time_data = findall("<[a-zA-Z]+.*?>([\s\S]*?)</[a-zA-Z]*?>", time_data)[0]
|
||||
k["time_data"] = time_data
|
||||
elif value.text == "〓活动时间〓":
|
||||
time_data = content_bs.find_all("p")[index+1].text
|
||||
time_data = time_data.replace("</t>","")[16:]
|
||||
k["time_data"] = time_data
|
||||
elif value.text == "〓祈愿介绍〓":
|
||||
start_time = content_bs.find_all("tr")[1].td.find_all("p")[0].text
|
||||
if "<t class=" in start_time:
|
||||
start_time = findall("<[a-zA-Z]+.*?>([\s\S]*?)</[a-zA-Z]*?>", start_time)[0]
|
||||
end_time = findall("<[a-zA-Z]+.*?>([\s\S]*?)</[a-zA-Z]*?>",
|
||||
content_bs.find_all("tr")[1].td.find_all("p")[2].text)[0]
|
||||
if "<t class=" in end_time:
|
||||
end_time = findall("<[a-zA-Z]+.*?>([\s\S]*?)</[a-zA-Z]*?>", end_time)[0]
|
||||
time_data = start_time + "~" + end_time
|
||||
k["time_data"] = time_data
|
||||
|
||||
if "冒险助力礼包" in k["title"] or "纪行" in k["title"]:
|
||||
continue
|
||||
# if "角色试用" in k["title"] or "传说任务" in k["title"]:
|
||||
#if "角色试用" in k["title"] or "传说任务" in k["title"]:
|
||||
# event_data['other_event'].append(k)
|
||||
elif k["tag_label"] == "扭蛋":
|
||||
event_data['gacha_event'].append(k)
|
||||
@ -1357,7 +1358,7 @@ async def draw_event_pic():
|
||||
for index, value in enumerate(event_data['normal_event']):
|
||||
img = Image.open(BytesIO(get(value["banner"]).content))
|
||||
base_draw.text((540, 300 + 45 + 390 + (390 + 90) * index + 1),
|
||||
value["act_begin_time"] + " —— " + value["act_end_time"], (255, 255, 255), genshin_font(42),
|
||||
value["time_data"], (255, 255, 255), genshin_font(42),
|
||||
anchor="mm")
|
||||
# base_img.paste(img,((index%2)*1080,300 + 390*(index//2)))
|
||||
base_img.paste(img, (0, 300 + (390 + 90) * index))
|
||||
@ -1365,7 +1366,7 @@ async def draw_event_pic():
|
||||
for index, value in enumerate(event_data['gacha_event']):
|
||||
img = Image.open(BytesIO(get(value["banner"]).content))
|
||||
base_draw.text((540, 600 + 45 + (390 + 90) * len(event_data['normal_event']) + 533 + index * (533 + 90)),
|
||||
value["act_begin_time"] + " —— " + value["act_end_time"], (255, 255, 255), genshin_font(42),
|
||||
value["time_data"], (255, 255, 255), genshin_font(42),
|
||||
anchor="mm")
|
||||
# base_img.paste(img,((index%2)*1080,600 + ((1 + len(event_data['normal_event']))//2)*390 + 533*(index//2)))
|
||||
base_img.paste(img, (0, 600 + (390 + 90) * len(event_data['normal_event']) + index * (533 + 90)))
|
||||
|
@ -3,4 +3,6 @@ requests==2.25.1
|
||||
httpx==0.18.1
|
||||
Pillow>=8.3.1
|
||||
wordcloud>=1.8.1
|
||||
numpy~=1.22.2
|
||||
numpy~=1.22.2
|
||||
beautifulsoup4>=4.10.0
|
||||
lxml>=4.7.1
|
Loading…
x
Reference in New Issue
Block a user