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

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

itLaity

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值