python使用bs4爬取网页所有图片
时间: 2023-09-24 20:06:24 浏览: 136
下面是一个简单的Python程序,可以使用BeautifulSoup(bs4)库来爬取网页上的所有图片。
```python
import requests
from bs4 import BeautifulSoup
import os
url = 'https://example.com/' # 替换成你要爬取的网页地址
# 发送请求获取网页内容
response = requests.get(url)
html = response.content
# 用BeautifulSoup解析网页内容
soup = BeautifulSoup(html, 'html.parser')
# 找到所有的img标签
images = soup.findAll('img')
# 创建一个文件夹用于存储图片
if not os.path.exists('images'):
os.makedirs('images')
# 遍历所有的图片标签,获取图片并保存到本地
for image in images:
try:
# 图片地址可能是相对路径,需要拼接成完整的URL
src = image.get('src')
if not src.startswith('http'):
src = url + src
# 发送请求获取图片内容
response = requests.get(src)
# 保存图片到本地
with open('images/' + src.split('/')[-1], 'wb') as f:
f.write(response.content)
print('成功保存图片:', src)
except Exception as e:
print('下载图片出错:', src)
print(e)
```
程序会在当前目录下创建一个名为“images”的文件夹,然后遍历网页上的所有图片标签,依次将图片下载并保存到“images”文件夹中。如果有图片下载失败,程序会输出错误信息。
阅读全文