【发布时间】:2020-10-09 14:46:05
【问题描述】:
我正在尝试异步下载大量 pdf 文件,python 请求不适用于 async 功能
但我发现aiohttp 很难通过 pdf 下载实现,并且找不到此特定任务的线程,对于 python async 世界的新手来说很容易理解。
是的,它可以通过threadpoolexecutor 完成,但在这种情况下最好保持在一个线程中。
此代码有效,但需要处理 100 个左右的网址 异步
import aiohttp
import aiofiles
async with aiohttp.ClientSession() as session:
url = "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"
async with session.get(url) as resp:
if resp.status == 200:
f = await aiofiles.open('download_pdf.pdf', mode='wb')
await f.write(await resp.read())
await f.close()
提前致谢。
【问题讨论】:
标签: python asynchronous async-await python-asyncio aiohttp