python 协程并发下载图片
1 import aiohttp
2 import asyncio
3 import time
4
5 async def dl_coroutine(session,url):
6 print('开始下载图片%s' + url)
7 async with session.get(url, verify_ssl=False) as res:
8 content = await res.content.read()
9 t = time.time()
10 filename = './img/{}.jpg'.format(int(round(t*1000)))
11 with open(filename,mode='wb') as f:
12 f.write(content)
13 print('下载完成')
14 async def main():
15 async with aiohttp.ClientSession() as session:
16 imglist = [
17 'https://img.tupianzj.com/uploads/allimg/201909/9999/51cdea9e98.jpg',
18 'https://img.tupianzj.com/uploads/allimg/160718/9-160GPZ331.jpg',
19 'https://img.tupianzj.com/uploads/allimg/191210/37-191210143P1.jpg'
20 ]
21 tasks = [ asyncio.create_task(dl_coroutine(session,img)) for img in imglist]
22 await asyncio.wait(tasks)
23 if __name__ == '__main__':
24 t1 = int(round(time.time()*1000))
25 asyncio.run(main())
26 t2 = int(round(time.time()*1000))
27 print('执行了{} 毫秒'.format(t2-t1))
python 协程并发下载图片的更多相关文章
- Python 协程并发爬虫网页
简单爬虫实例: 功能:通过urllib.request实现网站爬虫,捕获网站内容. from urllib import request def f(url): print("GET:%s& ...
- lua协程并发下载简单测试
下载8个1m大小文件,测试五次分别耗时12.038s,10.316s,8.955s,11.275s,9.499s(lua代码实现如下) require "socket" --hos ...
- Python进阶----异步同步,阻塞非阻塞,线程池(进程池)的异步+回调机制实行并发, 线程队列(Queue, LifoQueue,PriorityQueue), 事件Event,线程的三个状态(就绪,挂起,运行) ,***协程概念,yield模拟并发(有缺陷),Greenlet模块(手动切换),Gevent(协程并发)
Python进阶----异步同步,阻塞非阻塞,线程池(进程池)的异步+回调机制实行并发, 线程队列(Queue, LifoQueue,PriorityQueue), 事件Event,线程的三个状态(就 ...
- 5分钟完全掌握Python协程
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 1. 协程相关的概念 1.1 进程和线程 进程(Process)是应用程序启动的实例,拥有代码.数据 ...
- Python协程与Go协程的区别二
写在前面 世界是复杂的,每一种思想都是为了解决某些现实问题而简化成的模型,想解决就得先面对,面对就需要选择角度,角度决定了模型的质量, 喜欢此UP主汤质看本质的哲学科普,其中简洁又不失细节的介绍了人类 ...
- day-5 python协程与I/O编程深入浅出
基于python编程语言环境,重新学习了一遍操作系统IO编程基本知识,同时也学习了什么是协程,通过实际编程,了解进程+协程的优势. 一.python协程编程实现 1. 什么是协程(以下内容来自维基百 ...
- 初学Python——协程
进程.线程和协程区分 我们通常所说的协程Coroutine其实是corporate routine的缩写,直接翻译为协同的例程,一般我们都简称为协程. 在linux系统中,线程就是轻量级的进程,而我们 ...
- 从yield 到yield from再到python协程
yield 关键字 def fib(): a, b = 0, 1 while 1: yield b a, b = b, a+b yield 是在:PEP 255 -- Simple Generator ...
- 关于python协程中aiorwlock 使用问题
最近工作中多个项目都开始用asyncio aiohttp aiomysql aioredis ,其实也是更好的用python的协程,但是使用的过程中也是遇到了很多问题,最近遇到的就是 关于aiorwl ...
随机推荐
- 如何合理的安排Folx的下载任务
搭配使用Folx专业版的智能速控与任务计划功能,用户可以实现更加自动化.智能化的下载功能.通过使用任务计划功能,用户以时间表的方式安排Folx的下载任务:而智能速控的功能又能确保用户在下载的同时,有足 ...
- 为什么换了电脑安装MindManager提示密钥失效?
相信很多MindManager用户遇到过这样的问题,不想在原电脑上使用MindManager思维导图软件,想要换电脑安装,但是提示该许可证密钥失效了.下面文章就教大家如何解决这个问题: 我们在Mind ...
- 使用javaxmail发送文字邮件
package com.rupeng.javaMail; import java.util.Properties; import javax.mail.Authenticator;import jav ...
- 蓝桥杯——递增三元组(2018JavaB-第6题,11分)
递增三元组(18JB-6-11') 给定三个整数数组 A = [A1, A2, ... AN], B = [B1, B2, ... BN], C = [C1, C2, ... CN], 请你统计有多少 ...
- LaTex源文件的基本结构
默认编译器设置: Utf-8设置: 相关代码与注释: 显示效果:
- 网络 华为 ensp 命令
VLAN 端口有三种模式:access,hybrid,trunk. Access类型端口:只能属于1个VLAN,且该端口不打tag,一般用于连接计算机端口: Trunk类型端口:可以允许多个VLAN通 ...
- JAVA中删除文件夹下及其子文件夹下的某类文件
##定时删除拜访图片 ##cron表达式 秒 分 时 天 月 ? ##每月1日整点执行 CRON1=0 0 0 1 * ? scheduled.enable1=false ##图片路径 filePat ...
- UPX使用教程
UPX是一个通用可执行文件压缩器,由于其具有: 压缩率高:压缩效果优于zip/gzip: 解压速度快:在奔腾133上即可达到大约10MB/秒: 压缩的可执行文件没有额外的内存开销: 安全:可以列表,检 ...
- moviepy音视频剪辑:使用fl_time进行时间特效处理报错OSError: Error in file xxxx, Accessing time
☞ ░ 前往老猿Python博文目录 ░ 老猿在使用moviepy音视频剪辑的fl_time进行时间特效处理时,系统报错: OSError: Error in file F:\video\WinBas ...
- 快速理解Python中使用百分号占位符的字符串格式化方法中%s和%r的输出内容的区别
<Python中使用百分号占位符的字符串格式化方法中%s和%r的输出内容有何不同?>老猿介绍了二者的区别,为了快速理解,老猿在此使用另外一种方式补充说明一下: 1.使用%r是调用objec ...