aiohttp模块实战
Posted J哥。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了aiohttp模块实战相关的知识,希望对你有一定的参考价值。
aiohttp模块的使用
# requests.session 到时候看会话那回忆一下下
# File-->Settings-->Editor-->Color&Fonts-->LanguageDefaults-->Linecomment-->设置颜色即可
# requests.get() 同步的代码 -->异步代码 aiohttp
import aiohttp
import asyncio
# 上面那两个模块 几乎就是同步的
urls = [
'https://u.53pic.com/i/mm/mx/20210315/zgvrxxbvzbw.jpg'
'https://u.53pic.com/i/mm/mx/20210315/yqo5uqr1oya.jpg'
'https://u.53pic.com/i/mm/mote/20210313/ynbwbukgf2p.png'
'https://u.53pic.com/i/mm/mote/20210313/iiftj0v0ic5.jpg'
'https://u.53pic.com/i/mm/siwa/20201201/jycjm1sz3ut.jpg'
]
async def aio(url):
name = url.rsplit("/")[-1]
async with aiohttp.ClientSession() as session: # async with 不用关链接 就是不用 close
async with session.get(url) as resp:
# 请求回来的文件
with open('宝库/' + name, mode='wb') as f:
f.write(await resp.content.read()) # 读取内容是 异步操作 需要 加 await
# resp.content.read( ) # ====> resp.content
print(name, '搞定')
# asyncio.create_task()
# 发送请求
# 得到图片内容
# 保存到文件
# aiohttp.ClientSession() # <===> requests 模块
async def main():
task = []
for url in urls:
d = asyncio.create_task(aio(url))
task.append(d)
await asyncio.wait(task)
if __name__ == '__main__':
asyncio.run(main())
以上是关于aiohttp模块实战的主要内容,如果未能解决你的问题,请参考以下文章
[Python3网络爬虫开发实战] 1.2.6-aiohttp的安装
在查找“aiohttp.web”的模块规范时发出 azure 测试聊天机器人“错误(ModuleNotFoundError:没有名为“aiohttp”的模块)