多线程下载图片

Posted skyxiuli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程下载图片相关的知识,希望对你有一定的参考价值。

import requests,threading,time
from hashlib import md5

urls = [
    http://www.178linux.com/wp-content/uploads/2018/02/5.jpg,
    http://img1.imgtn.bdimg.com/it/u=1139158180,2224775217&fm=11&gp=0.jpg,
    http://www.linuxidc.com/upload/2019_04/19041915053582.png,
    http://www.veryxue.com/file/upload/201905/09/201804031578.jpg,
    http://5b0988e595225.cdn.sohucs.com/images/20171209/8e81dcb041a9425c823daf6b6053e03b.jpg
]
result=[]
def down_load_picture(url):
    r=requests.get(url)
    file_name=md5(r.content).hexdigest()
    with open(file_name+".jpg",wb) as fw:
        fw.write(r.content)
        result.append(file_name)
        print("[%s]下载完成"%file_name)

start_time = time.time()
for url in urls:
    #down_load_picture(url)
    t=threading.Thread(target=down_load_picture,args=(url,))
    t.start()

while threading.activeCount()!=1:  # 判断当前系统是否只有一个主线程
    pass
end_time = time.time()
print(result)
run_time= end_time - start_time
print("运行的时间:%s"%run_time)

 

以上是关于多线程下载图片的主要内容,如果未能解决你的问题,请参考以下文章

多线程实现多图片下载2

多线程实现多图片下载1

多线程异步加载图片

根据图片的url地址下载图片到本地保存代码片段

多线程下载图片

多线程爬取页面图片