python aiohttp模块下载
时间: 2024-12-12 10:04:44 浏览: 11
Python中的aiohttp是一个异步HTTP客户端库,它非常适合处理大量并发请求,特别是在网络I/O密集型任务中,比如网站爬虫、API数据抓取等。使用aiohttp下载文件时,你可以通过`AsyncSession`对象发起GET请求,并指定文件名接收响应体。
下面是一个简单的例子:
```python
import asyncio
import aiohttp
async def download_file(url, filename):
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
if response.status == 200:
with open(filename, 'wb') as f:
while True:
chunk = await response.content.read(1024)
if not chunk:
break
f.write(chunk)
print(f"File {filename} downloaded successfully.")
else:
print(f"Failed to download, status code: {response.status}")
# 使用asyncio.run运行异步函数
asyncio.run(download_file('https://example.com/file.zip', 'file.zip'))
```
在这个示例中,我们创建了一个异步会话,然后使用`.get()`方法获取URL的内容。如果响应状态码为200,我们就将内容写入到指定的本地文件。
阅读全文