异步爬虫模板 加上过时警告

import requests
import asyncio
import aiohttp

async def download(url):
    print("开始下载")
    # 这里可以改成aiohttp.ClientSeiion().get()
    async with aiohttp.ClientSeiion() as session:
        async with session.get(url) as resp:
            resp.content.read()#<==>resp.content
            resp.text()        #<==>resp.text
            resp.json()        #<==>resp.json()
            with open("自己写名字",mode="wb") as f:
                f.write(await resp.content.read())  #读取内容是异步的

    await asyncio.sleep(3)
    print("下载完成")


async def main():
    urls = [
        "https://www.baidu.com",
        "https://www.bilibili.com",
        "https://www.taobao.com"
    ]
    tasks = []
    for items in urls:
        d = download(items)
        tasks.append(d)
    await asyncio.wait(tasks)
    # python3.8以后需要这么写
    # for items in urls:
    #     d = asyncio.create_task(download(items))
    #     tasks.append(d)
    # await asyncio.wait(tasks)


if __name__ == '__main__':
    asyncio.run(main())

过时警告

    # python3.8以后需要这么写
    for items in urls:
        d = asyncio.create_task(download(items))
        tasks.append(d)
    await asyncio.wait(tasks)

tip:

写入文件也是IO操作,要将写入文件异步,需要学习aiofiles模块

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值