Python asyncio训练练习

6

我想学习如何使用asyncio,但是无法想到一个适用的问题(或问题集),可以帮助我学习这种新技术。

你能推荐一个问题,帮助我了解和学习实践中的asyncio吗?

换句话说:你能为我提供一些抽象问题或应用程序的示例,编写它将帮助我学习如何在实践中使用asyncio。

谢谢


1
尝试使用catasyncio subprocessasyncio streams实现netcat。或者实现一个网络爬虫 - Vincent
谢谢。我会尝试做到的。 - Xeizzeth
编写一个爬虫程序,收集网站上的所有链接,从主页开始(选择小型网站进行测试)。爬虫应该并行请求URL(例如使用aiohttp,请参见https://dev59.com/xlsV5IYBdhLWcg3wsgyh#35900453)。使用信号量来限制并行连接的数量。https://docs.python.org/3/library/asyncio-sync.html#asyncio.Semaphore - Mikhail Gerasimov
谢谢你,Mikhail,我会尝试做到的。 - Xeizzeth
1个回答

2

任何I/O绑定任务都很适合使用asyncio。在网络编程的上下文中 - 任何需要同时处理数千个连接的应用程序。Web服务器、Web爬虫、聊天后端、MMO游戏后端、Torrent跟踪器等等。但要记住,你应该走异步化之路,并使用执行阻塞I/O的所有库的异步版本,如数据库驱动程序等。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接