小编ets*_*ner的帖子

如何使用 requests_html 异步 get() URL 列表?

我正在尝试使用 python 包resuqests_html异步 get() URL 列表,类似于自述文件中使用 Python 3.6.5 和 requests_html 0.10.0 的异步示例。

我的理解是 AsyncHTMLSession.run() 应该与 asyncio.gather() 非常相似:你给它一堆可等待的东西,它会运行所有的东西。这是不正确的吗?

这是我正在尝试的代码,我希望它应该获取页面并存储响应:

from requests_html import AsyncHTMLSession

async def get_link(url):
    r = await asession.get(url)
    return r

asession = AsyncHTMLSession()
results = asession.run(get_link("http://google.com"), get_link("http://yahoo.com"))
Run Code Online (Sandbox Code Playgroud)

但我却得到了这个异常:

Traceback (most recent call last):
  File "test.py", line 10, in <module>
    results = asession.run(get_link("google.com"), get_link("yahoo.com"))
  File ".\venv\lib\site-packages\requests_html.py", line 772, in run
    asyncio.ensure_future(coro()) for coro in coros
  File ".\venv\lib\site-packages\requests_html.py", line 772, in <listcomp>
    asyncio.ensure_future(coro()) for coro in coros
TypeError: …
Run Code Online (Sandbox Code Playgroud)

python asynchronous python-3.x python-asyncio python-requests-html

2
推荐指数
1
解决办法
3333
查看次数