分享

Python 网络爬虫程序 多任务异步协同模板

 禁忌石 2022-10-19 发布于浙江
import asyncio #导入协同函数库import timeasync def fun1(): print('func1 start') await asyncio.sleep(10) print('func1 start')async def fun2(): print('func2 start') await asyncio.sleep(3) print('func2 start')async def fun3(): print('func3 start') await asyncio.sleep(4) print('func3 start')async def main():#创建协同任务 tasks=[ asyncio.create_task(fun1()), asyncio.create_task(fun2()), asyncio.create_task(fun3()) ] await asyncio.wait(tasks)if __name__ == '__main__': t1=time.time() asyncio.run(main()) t2=time.time() print(t2-t1)
文章图片1

运行结果

#网络爬虫异步协同程序模板import asyncio #导入协同函数库import timeasync def download(url):    print('正在下载')    await asyncio.sleep(1)    print('下载完成')async def main():    urls = [        'www.baidu.com',        'www.qq.com',        'www.126.com'    ]    task = []    for url in urls:        d = asyncio.create_task(download(url))        task.append(d)    await asyncio.wait(task)if __name__ == '__main__':    t1 = time.time()    asyncio.run(main())    t2 = time.time()    print(t2 - t1)
文章图片2

运行结果(单线程需要3秒多)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多