重构代码
This commit is contained in:
parent
d3578dd05b
commit
10018266a6
@ -1 +1,4 @@
|
||||
第61话 - https://bakamh.com/manga/%e6%81%b6%e9%9c%b8%e5%ae%a4%e5%8f%8b%e6%af%8b%e9%80%9a%e6%9d%a5/c-60/
|
||||
第60话 - https://bakamh.com/manga/%e6%81%b6%e9%9c%b8%e5%ae%a4%e5%8f%8b%e6%af%8b%e9%80%9a%e6%9d%a5/c-59/
|
||||
第59话 - https://bakamh.com/manga/%e6%81%b6%e9%9c%b8%e5%ae%a4%e5%8f%8b%e6%af%8b%e9%80%9a%e6%9d%a5/c-58/
|
||||
第58话 - https://bakamh.com/manga/%e6%81%b6%e9%9c%b8%e5%ae%a4%e5%8f%8b%e6%af%8b%e9%80%9a%e6%9d%a5/c-57/
|
||||
33
main.py
33
main.py
@ -69,9 +69,23 @@ def set_img_obj_data(img_obj):
|
||||
img_obj["data"] = data
|
||||
|
||||
|
||||
def concatenate_images_vertically(img_obj_list, output_file):
|
||||
def batch_download_images_to_img_obj_list(img_obj_list):
|
||||
"""
|
||||
垂直拼接图片,并保存到本地目录
|
||||
使用 ThreadPoolExecutor 创建线程池,对 img_obj_list 中的每个图片对象调用 set_img_obj_data 函数。
|
||||
|
||||
Args:
|
||||
img_obj_list (list): 图片对象列表,每个对象包含图片的数据等信息。
|
||||
|
||||
Returns:
|
||||
None
|
||||
"""
|
||||
with ThreadPoolExecutor() as executor:
|
||||
executor.map(set_img_obj_data, img_obj_list)
|
||||
|
||||
|
||||
def concatenate_images_vertically(img_obj_list):
|
||||
"""
|
||||
垂直拼接长图片
|
||||
"""
|
||||
try:
|
||||
# 计算拼接后的长图宽度和总高度
|
||||
@ -94,8 +108,7 @@ def concatenate_images_vertically(img_obj_list, output_file):
|
||||
long_image.paste(img, (x_offset, y_offset))
|
||||
y_offset += img_height
|
||||
|
||||
# 保存拼接后的长图到本地
|
||||
long_image.save(output_file)
|
||||
return long_image
|
||||
|
||||
except Exception as e:
|
||||
file_name = img_obj_list[0]["file_name"]
|
||||
@ -112,15 +125,9 @@ def process_batch(lines):
|
||||
html_content = get_html(url, file_name)
|
||||
img_url_list = get_img_urls(html_content)
|
||||
img_obj_list = create_img_obj_list(img_url_list, file_name)
|
||||
|
||||
# 使用 ThreadPoolExecutor 创建线程池
|
||||
with ThreadPoolExecutor() as executor:
|
||||
# 多线程处理图片下载和替换
|
||||
executor.map(set_img_obj_data, img_obj_list)
|
||||
|
||||
concatenate_images_vertically(
|
||||
img_obj_list, output_file=f"imgs/{file_name}.png"
|
||||
)
|
||||
batch_download_images_to_img_obj_list(img_obj_list)
|
||||
long_image = concatenate_images_vertically(img_obj_list) # 垂直拼接长图片
|
||||
long_image.save(f"imgs/{file_name}.png") # 保存拼接后的长图到本地
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Loading…
Reference in New Issue
Block a user