我有一个协程发送网络请求并对其进行后期处理。目前我正在做:
async def scrape(url, sess, logging=None):
# request
result = sess.get(url, headers=headers(url))
# process
if result.ok:
await(post_process(result.content))
async def main():
# code here
for url in urls:
await asyncio.create_task(scrape(url, sess))
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
问题在于运行缓慢!似乎请求阻塞了循环。如何将请求转到协程并等待其完成?
注意:我用google搜索过。但是我还没有一个简单的例子可以做到这一点。另外,我正在使用requests
和some searches表示它正在引起麻烦。