Skip to content
On this page

异步基础

异步无疑是python中处理网络请求的最佳技术,因为它可以承载极高的并发量。 在python中使用bilix之前,你需要先对python中的异步编程有一些了解。python官方使用asyncio 提供异步I/O的支持。

python
async def hello():
    print("hello world")

对于一个async函数(def变为async def)来说调用不会直接执行函数,而是返回一个协程(coroutine)对象

python
c = hello()
>>> c
<coroutine object hello at 0x100a92540>

我们可以将这个coroutine提交到asyncio的事件循环中执行它

python
import asyncio

>>> asyncio.run(c)
"hello world"

bilix的所有下载方法都是异步的,所以你也可以这样执行他们

python
import asyncio
from bilix.sites.bilibili import DownloaderBilibili

d = DownloaderBilibili()
asyncio.run(d.get_video('url'))

Released under the Apache 2.0 License.