重构代码
This commit is contained in:
parent
5bb20f59b3
commit
b5cbe9b064
21
web_img.py
21
web_img.py
@ -11,9 +11,12 @@ class WebImg:
|
|||||||
self.data = bytearray()
|
self.data = bytearray()
|
||||||
|
|
||||||
def fill_img_data(self):
|
def fill_img_data(self):
|
||||||
|
"""
|
||||||
|
填充图片data字段
|
||||||
|
请求图片url, 获取图片的字节码填充到data字段
|
||||||
|
"""
|
||||||
requester = Requester()
|
requester = Requester()
|
||||||
url = self.url
|
data = requester.fetch_image(self.url)
|
||||||
data = requester.fetch_image(url)
|
|
||||||
if data is None:
|
if data is None:
|
||||||
print(f"{self.task_name}, 下载图片失败")
|
print(f"{self.task_name}, 下载图片失败")
|
||||||
raise Exception(f"{self.task_name}, 下载图片失败")
|
raise Exception(f"{self.task_name}, 下载图片失败")
|
||||||
@ -22,14 +25,14 @@ class WebImg:
|
|||||||
|
|
||||||
class ImgManager:
|
class ImgManager:
|
||||||
def __init__(self, img_url_list: list[str], task_name: str):
|
def __init__(self, img_url_list: list[str], task_name: str):
|
||||||
self.img_url_list = img_url_list
|
|
||||||
self.task_name = task_name
|
self.task_name = task_name
|
||||||
self.img_list = self.__create_web_img_list()
|
self.img_list = [WebImg(task_name, img_url) for img_url in img_url_list]
|
||||||
|
|
||||||
def __create_web_img_list(self):
|
|
||||||
return [WebImg(self.task_name, url) for url in self.img_url_list]
|
|
||||||
|
|
||||||
def batch_fill_image_data(self):
|
def batch_fill_image_data(self):
|
||||||
|
"""
|
||||||
|
批量填充图片data字段.
|
||||||
|
这个函数会批量请求图片url, 获取图片的字节码填充到data字段
|
||||||
|
"""
|
||||||
with ThreadPoolExecutor() as executor:
|
with ThreadPoolExecutor() as executor:
|
||||||
executor.map(lambda web_img: web_img.fill_img_data(), self.img_list)
|
executor.map(lambda web_img: web_img.fill_img_data(), self.img_list)
|
||||||
|
|
||||||
@ -63,10 +66,10 @@ class ImgManager:
|
|||||||
return long_image
|
return long_image
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
task_name = self.img_list[0].task_name
|
task_name = self.task_name
|
||||||
print(f"{task_name}, 拼接图片失败:{e}")
|
print(f"{task_name}, 拼接图片失败:{e}")
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def save_long_image(self):
|
def save_long_image(self):
|
||||||
long_image = self.concatenate_images_vertically() # 垂直拼接长图片
|
long_image = self.concatenate_images_vertically() # 垂直拼接长图片
|
||||||
long_image.save(f"output/{self.img_list[0].task_name}.png") # 保存长图到本地
|
long_image.save(f"output/{self.task_name}.png") # 保存长图到本地
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user