图片测试

异步 50
测试下载100个图片
耗时:1.95628 s
代码如下

代码如下

import asyncio
import aiohttp
import time
import randomasync def fetch(session,url):async with session.get(url, verify_ssl=False) as response:with open('pdf/' + str(random.randint(1,9999)) + '.jpg','ab') as f:while True:chunk = await response.content.read(1024)if not chunk:breakf.write(chunk)async def main(urlList):async with aiohttp.ClientSession() as session:task = [ asyncio.create_task( fetch(session,url)) for url in urlList ]done,pending = await asyncio.wait(task)if __name__ == '__main__':# 设置异步任务数numbers_of_async = 50lastTime = time.time()urlList = ['图片下载网址' for i in range(100)]numbers_of_times = int(len(urlList)/numbers_of_async) if not len(urlList)%numbers_of_async else int(len(urlList)/numbers_of_async) + 1for number in range(numbers_of_times):asyncio.run(main(urlList[number*numbers_of_async:number*numbers_of_async+numbers_of_async]))print("耗时 %.5f s"%(time.time() - lastTime))

PDF测试

异步 50
测试下载 100 个pdf
耗时:44.07051 s
代码如下

import asyncio
import aiohttp
import time
import randomasync def fetch(session,url):async with session.get(url, verify_ssl=False) as response:with open('pdf/' + str(random.randint(1,9999)) + '.pdf','ab') as f:while True:chunk = await response.content.read(1024)if not chunk:breakf.write(chunk)async def main(urlList):async with aiohttp.ClientSession() as session:task = [ asyncio.create_task( fetch(session,url)) for url in urlList ]done,pending = await asyncio.wait(task)if __name__ == '__main__':# 设置异步任务数numbers_of_async = 100lastTime = time.time()urlList = ['pdf下载网址' for i in range(100)]numbers_of_times = int(len(urlList)/numbers_of_async) if not len(urlList)%numbers_of_async else int(len(urlList)/numbers_of_async) + 1for number in range(numbers_of_times):asyncio.run(main(urlList[number*numbers_of_async:number*numbers_of_async+numbers_of_async]))print("耗时 %.5f s"%(time.time() - lastTime))

Python异步 asyncio 异步文件下载相关推荐

  1. python asyncio_Python 的异步 IO:Asyncio 简介

    原标题:Python 的异步 IO:Asyncio 简介 Python 的 asyncio 类似于 C++ 的 Boost.Asio. 异步 IO,就是你发起一个 IO 操作,不用等它结束,可以继续做 ...

  2. python asyncio 异步编程-协程 2

    asyncio 异步编程 官方文档: 中文版:https://docs.python.org/zh-cn/3.8/library/asyncio.html 英文本:https://docs.pytho ...

  3. python爬虫 asyncio aiohttp aiofiles 单线程多任务异步协程爬取图片

    python爬虫 asyncio aiohttp aiofiles 多任务异步协程爬取图片 main.py """=== coding: UTF8 ==="&q ...

  4. python异步asy_python异步编程asyncio

    前言 python由于GIL(全局锁)的存在,不能发挥多核的优势,其性能一直饱受诟病.然而在IO密集型的网络编程里,异步处理比同步处理能提升成百上千倍的效率,弥补了python性能方面的短板. asy ...

  5. python3 异步 asyncio aiohttp aiohttp-requests aiofiles 使用

    asyncio asyncio 是用来编写 并发 代码的库,使用 async/await 语法. asyncio 被用作多个提供高性能 Python 异步框架的基础,包括网络和网站服务,数据库连接库, ...

  6. python processpoolexector 释放内存_一起看看python 中日志异步发送到远程服务器

    在python中使用日志最常用的方式就是在控制台和文件中输出日志了,logging模块也很好的提供的相应的类,使用起来也非常方便,但是有时我们可能会有一些需求,如还需要将日志发送到远端,或者直接写入数 ...

  7. b站弹幕姬python_基于asyncio异步协程框架实现收集B站直播弹幕详细介绍

    本文给大家分享的是基于asyncio 异步协程框架实现收集B站直播弹幕收集系统的简单设计,并附上源码,有需要的小伙伴可以参考下 "> 前言 虽然标题是全站,但目前只做了等级 top 1 ...

  8. Python3标准库:asyncio异步I/O、事件循环和并发工具

    1. asyncio异步I/O.事件循环和并发工具 asyncio模块提供了使用协程构建并发应用的工具.threading模块通过应用线程实现并发,multiprocessing使用系统进程实现并发, ...

  9. python 异步io_python异步IO编程(一)

    python异步IO编程(一) 基础概念 异步IO (async IO):一种由多种语言实现的与语言无关的范例(或模型). asyncio:Python 3.4版本引入的标准库,直接内置了对异步IO的 ...

最新文章

  1. android获取年月日时分秒毫秒,Android获取两个日期其间间隔的天数
  2. 代码管理和检查平台汇总
  3. Flash Builder 使用
  4. 取代Cookie失败,Google上线FLoC反遭“围攻”!
  5. mysql数据库是以表为单位存储的,创建一个以数据库名称为参数的MySQL存储过程,以列出具有特定数据库中详细信息的表。...
  6. Scikit-learn:最近邻搜索sklearn.neighbors
  7. IntelliJ IDEA 的项目配置和Web部署,终于搞懂了!
  8. PS抠图后有毛边怎么处理?
  9. Python一行流:列举所有k-mer组合(最简单写法)
  10. Java项目中利用钉钉机器人Webhook向钉钉群推送告警通知
  11. vue html 格式化,解决在写Vue时,格式化代码 属性自动换行的问题
  12. android实现截图功能
  13. 手机通过QQ发送图片到电脑端,电脑接收不到且显示图裂
  14. 白盒测试方法之逻辑覆盖
  15. SAP FICO 应收应付重分类的坑 SAP S4 HANA
  16. python保存变量到本地,下次读取。
  17. 31.最特殊的快捷键 Alt + Enter 介绍(新用户必看)
  18. python 贴吧自动回复_python 几行代码实现自动回复功能
  19. QQ/微信防撤回插件
  20. 网址域名查询-域名注册查询工具

热门文章

  1. 常见三维文件格式之STL, VRML, X3D
  2. 【nexus5刷机教程】
  3. JSTL标签库 | 深入解析JSTL标签库
  4. 高中计算机会考可以补考吗,高中会考不过可以补考吗
  5. 理解逻辑回归中的后验概率和损失函数
  6. Gartner发布2022年数据分析十二大趋势:数据和分析将成为创新起源
  7. JavaWeb课程设计-学生信息管理系统(Jsp+Servlet+MySql
  8. 手机连无线网后没有网络连接到服务器,手机无线网络连接上但上不了网
  9. pv事件 mv事件 mc事件
  10. HTML5小游戏之五子棋