如何解决使用Python和Asyncio运行异步功能
我刚开始使用Python进入AsyncIO,我编写了一个非常简单的测试脚本来尝试了解其工作原理。
这是我尝试过的:
import cfscrape,asyncio,json,time
BU = cfscrape.create_scraper()
async def run(market):
try:
# DATA RETRIEVAL #
URL = "https://api.binance.com/api/v1/klines?&symbol={0}&interval=4h&limit=130".format(market)
ResultRaw = BU.get(URL,timeout=(10,15)).content
Result = json.loads(ResultRaw)
print(Result)
time.sleep(2)
print('Finished')
except Exception as e:
print(e)
async def main():
Tickers = ['BTCUSDT','ETHBTC','ETHUSDT']
for market in Tickers:
await run(market)
asyncio.run(main())
此脚本采用三个参数,并向API端点执行简单查询,然后休眠并打印Finished
。输出将如下所示:
Result
Finished
Result
Finished
Result
Finished
Result
Result
Result
Finished
Finished
Finished
脚本似乎一个接一个地同步执行功能。相反,我想为每个执行创建一个协程,因此这三个请求应该已经同时(几乎)执行了。再说一次,我是异步Python的新手,所以我的意思可能是错误的,但是有人可以帮助我理解这一点吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。