首页 > 编程语言 >python多线程下载图片

python多线程下载图片

时间:2023-12-07 09:35:21浏览次数:34  
标签:__ python jpg filename url json urls 多线程 下载

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()

 

标签:__,python,jpg,filename,url,json,urls,多线程,下载
From: https://www.cnblogs.com/lfxx/p/17770341.html

相关文章

  • python 中的 collections 模块:常用数据结构和工具详解
    Python的collections模块提供了许多有用的数据结构,超越了标准的内置数据类型。这些数据结构解决了各种常见的编程问题,包括但不限于高效的容器类型、特定目的的容器、默认值字典等。让我们深入了解其中的几个重要数据结构和工具。1.defaultdict:带有默认值的字典defaultdict是d......
  • python-名片管理系统
    一、系统需求目的一、回顾前面学过的变量、流程控制、函数、模块等 程序启动,显示名片和欢迎界面,并提示用户进行操作用户选择不同的功能,执行不同的操作用户名片中要记录的信息:姓名、电话、联系方式、邮件用户查询到指定的名片,可以进行修改、删除操作二、步骤框架搭建......
  • python-名片管理
    完整代码:#-*-coding:utf-8-*-#导入模块importparamimportcards_toolswhileTrue:#显示系统菜单cards_tools.show_menu()action=input("请选择操作功能:")print("您的选择操作是:%s"%action)#不带分号#根据用户的输入进行后续的操作......
  • python连接mysql、oracle数据库
    python版本:3.10.5mysql版本:8.0.27oracle版本:oracle12c一、python连接mysql数据库安装第三方依赖PyMySQL,终端执行如下命令:pipinstallPyMySQLPyMySQL使用importpymysqlconfig={'host':'127.0.0.1','port':3306,'u......
  • python的基础1
    基础笔记1.int转整数的时候不能转字符串:int('123'),这样会直接报错。但是使用flost的时候是可以转成小数的,但是也只能是由数字组合的字符串才可以,里面不能包含除了数字之外的所有的字符2.相除的时候,有小数点的是用/,不需要小数的时候使用//(小数点后的直接舍弃)3.全部转换为大写,判......
  • 【Python】【OpenCV】凸轮廓和Douglas-Peucker算法
    针对遇到的各种复杂形状的主体,大多情况下,我们可以求得一个近似的多边形来简化视觉图像处理,因为多边形是由直线组成的,这样就可以准确的划分区域来便捷后续的操作。 cv2.arcLength()Method:参数:curve:要计算周长的轮廓,可以是一个矩形、圆形、多边形等封闭曲线。closed:一个布尔......
  • python中级之异常处理
    什么是异常##异常是程序运行时可能发生的错误或意外情况##本篇博客主要写的是异常相关知识,在Python代码的编写过程中经常会出现异常,一般情况下程序员都叫做出BUG了,这个BUG就是臭虫的意思,表示程序出臭虫了。当然很多时候我们也戏称“无BUG,不编程”。异常的分类-内......
  • python异常处理
    【一】什么是异常异常是程序运行时可能发生的错误或意外情况。在Python中,异常是一种对象,表示程序执行期间发生的错误。当出现异常时,程序的正常流程会被中断,而是跳转到异常处理流程。【1】BaseException(所有异常的基类)SystemExit:解释器请求退出KeyboardInterrupt:用户中......
  • python中级之深浅拷贝
    深浅拷贝异同相同点:无论深拷贝还是浅拷贝都会创建一个新对象。即:拷贝出来的对象的id不同。不同点:浅拷贝:只拷贝了对象,对象内的元素并不会发生拷贝。深拷贝:不仅拷贝对象,对象内的元素也会发生拷贝。浅拷贝浅拷贝举例来看一个浅拷贝的例子:importcopya=[1,2,[3,4]]......
  • 大白话说Python+Flask入门(六)Flask SQLAlchemy操作mysql数据库
    写在前面这篇文章被搁置真的太久了,不知不觉拖到了周三了,当然,也算跟falsk系列说再见的时候,真没什么好神秘的,就是个数据库操作,就大家都知道的CRUD吧。FlaskSQLAlchemy的使用1、FlaskSQLAlchemy简介FlaskSQLAlchemy是基于Flaskweb框架和SQLAlchemyORM(对象关系映射)的工具......