Check out `aiohttp` if you’re cool with async! You can write a script that fetches multiple files in parallel, which is way faster for directories.
Pair it with `aiofiles` to handle the writes smoothly. It’s a bit more setup, but worth it for larger downloads.
Example:
```python
import aiohttp
import aiofiles
import asyncio
async def download(url, path):
async with aiohttp.ClientSession() as session:
async with session.get(url) as resp:
async with aiofiles.open(path, 'wb') as f:
await f.write(await resp.read())
```
Pair it with `aiofiles` to handle the writes smoothly. It’s a bit more setup, but worth it for larger downloads.
Example:
```python
import aiohttp
import aiofiles
import asyncio
async def download(url, path):
async with aiohttp.ClientSession() as session:
async with session.get(url) as resp:
async with aiofiles.open(path, 'wb') as f:
await f.write(await resp.read())
```
