From b5cbe9b064926841c8d29bc39e1db3fc37b63e3e Mon Sep 17 00:00:00 2001 From: vincent Date: Sun, 20 Aug 2023 14:15:54 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web_img.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/web_img.py b/web_img.py index 32d2a59..2981383 100644 --- a/web_img.py +++ b/web_img.py @@ -11,9 +11,12 @@ class WebImg: self.data = bytearray() def fill_img_data(self): + """ + 填充图片data字段 + 请求图片url, 获取图片的字节码填充到data字段 + """ requester = Requester() - url = self.url - data = requester.fetch_image(url) + data = requester.fetch_image(self.url) if data is None: print(f"{self.task_name}, 下载图片失败") raise Exception(f"{self.task_name}, 下载图片失败") @@ -22,14 +25,14 @@ class WebImg: class ImgManager: def __init__(self, img_url_list: list[str], task_name: str): - self.img_url_list = img_url_list self.task_name = task_name - self.img_list = self.__create_web_img_list() - - def __create_web_img_list(self): - return [WebImg(self.task_name, url) for url in self.img_url_list] + self.img_list = [WebImg(task_name, img_url) for img_url in img_url_list] def batch_fill_image_data(self): + """ + 批量填充图片data字段. + 这个函数会批量请求图片url, 获取图片的字节码填充到data字段 + """ with ThreadPoolExecutor() as executor: executor.map(lambda web_img: web_img.fill_img_data(), self.img_list) @@ -63,10 +66,10 @@ class ImgManager: return long_image except Exception as e: - task_name = self.img_list[0].task_name + task_name = self.task_name print(f"{task_name}, 拼接图片失败:{e}") return None def save_long_image(self): 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") # 保存长图到本地