协程框架
Posted zxfei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了协程框架相关的知识,希望对你有一定的参考价值。
import requests
import gevent
from gevent import monkey
monkey.patch_all()
headers = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'en',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'
}
def download(url):
print("start:",url)
content = requests.get(url, headers=headers).content
gevent.sleep(1)
print(len(content), url)
pass
def main():
gevent.joinall([
gevent.spawn(download, "http://www.baidu.com"),
gevent.spawn(download, "http://www.bilibili.com"),
gevent.spawn(download, "http://www.163.com"),
gevent.spawn(download, "http://www.sina.com"),
])
if __name__ == "__main__":
main()
以上是关于协程框架的主要内容,如果未能解决你的问题,请参考以下文章
requests 已过时,初探协程与异步 http 框架 httpx
text 来自Codyhouse框架的Browserlist片段源代码
Kotlin 协程协程底层实现 ① ( Kotlin 协程分层架构 | 基础设施层 | 业务框架层 | 使用 Kotlin 协程基础设施层标准库 Api 实现协程 )