python多线程下载图片

urls.json文件数据格式如下

[
    "https://example.com/image1.jpg",
    "https://example.com/image2.jpg",
    "https://example.com/image3.jpg"
]

 

代码如下

复制代码
import json
import requests
import threading

def download_image(url):
    response = requests.get(url)
    if response.status_code == 200:
        filename = url.split('/')[-1]  # 使用图片链接的最后一部分作为文件名
        with open(filename, 'wb') as f:
            f.write(response.content)
        print(f"已下载图片:{filename}")
    else:
        print(f"下载失败:{url}")

def main():
    # 读取包含图片URL的JSON文件
    with open('urls.json', 'r') as f:
        urls = json.load(f)

    threads = []
    for url in urls:
        t = threading.Thread(target=download_image, args=(url,))
        threads.append(t)
        t.start()

    # 等待所有线程结束
    for t in threads:
        t.join()

    print("所有图片下载完毕")

if __name__ == '__main__':
    main()
复制代码

 

posted @   苦逼yw  阅读(162)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示