使用Python爬虫怎么将多个网页图片保存到本地
时间: 2023-12-03 10:05:43 浏览: 80
python抓取网页中图片并保存到本地
5星 · 资源好评率100%
如果需要将多个网页图片保存到本地,可以在遍历所有图片URL的时候,使用循环将每个图片下载并保存到本地。
下面是一个示例程序,可以从多个网页中提取图片URL并将其保存到本地:
```python
import requests
from bs4 import BeautifulSoup
import os
# 目标网页URL列表
urls = [
'https://www.example.com/page1',
'https://www.example.com/page2',
'https://www.example.com/page3'
]
# 创建目标文件夹
if not os.path.exists('images'):
os.mkdir('images')
# 遍历所有网页URL
for url in urls:
# 发送请求并获取HTML文档
response = requests.get(url)
html_doc = response.content
# 解析HTML文档
soup = BeautifulSoup(html_doc, 'html.parser')
# 获取所有图片标签
img_tags = soup.find_all('img')
# 遍历所有图片标签,下载并保存图片
for img_tag in img_tags:
img_url = img_tag.get('src')
img_name = img_url.split('/')[-1]
img_path = os.path.join('images', img_name)
img_data = requests.get(img_url).content
with open(img_path, 'wb') as f:
f.write(img_data)
print(f'Saved {img_path}')
```
这个程序首先定义了一个网页URL列表,然后遍历所有网页URL。在遍历每个网页URL的时候,程序发送请求获取HTML文档,并使用 `BeautifulSoup` 解析HTML文档,获取所有图片标签。接下来,程序遍历所有图片标签,获取图片的URL和名称,并下载并保存到本地文件夹中。最后,程序输出保存成功的消息并结束。
需要注意的是,如果不同网页中的图片存在重名的情况,可能会导致文件名重复,需要根据实际情况进行处理。
阅读全文