python 异步爬取斗图网图片
时间: 2023-12-14 12:04:55 浏览: 138
可以使用 Python 的 asyncio 库和 aiohttp 库来实现异步爬取斗图网的图片。
下面是一个简单的示例代码:
```python
import asyncio
import aiohttp
import os
async def download_img(url):
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
content = await response.read()
filename = os.path.basename(url)
with open(filename, 'wb') as f:
f.write(content)
print(f'{filename} downloaded.')
async def main():
urls = [
'https://cdn.doutula.com/production/uploads/image/2021/06/19/20210619744241_SUyZjP.gif',
'https://cdn.doutula.com/production/uploads/image/2021/06/20/20210620715870_xLHMXV.jpg',
'https://cdn.doutula.com/production/uploads/image/2021/06/19/20210619744241_SUyZjP.gif',
# 添加更多需要下载的图片链接
]
tasks = []
for url in urls:
task = asyncio.create_task(download_img(url))
tasks.append(task)
await asyncio.gather(*tasks)
if __name__ == '__main__':
asyncio.run(main())
```
在这个示例中,我们首先定义了一个 `download_img` 函数,它使用 aiohttp 库来异步下载图片。然后,我们定义了一个 `main` 函数,它使用 asyncio 库来创建异步任务和运行事件循环。最后,我们在 `main` 函数中把需要下载的图片链接放入一个列表中,并创建异步任务。
最后,我们通过调用 `asyncio.run()` 函数来运行我们的程序。当我们运行程序时,它将异步下载所有图片,并将它们保存在当前目录下。
阅读全文