python爬取网页所有图片代码
时间: 2024-09-30 08:03:55 浏览: 39
在Python中,我们可以使用`requests`库获取网页内容,然后结合`BeautifulSoup`解析HTML并提取出图片URL。以下是一个简单的例子,展示了如何使用这两个库来爬取网页上的所有图片:
```python
import requests
from bs4 import BeautifulSoup
import os
def download_images(url):
# 发送GET请求
response = requests.get(url)
# 使用BeautifulSoup解析HTML
soup = BeautifulSoup(response.text, 'html.parser')
# 查找所有的img标签
img_tags = soup.find_all('img')
# 创建图片保存目录(如果不存在)
if not os.path.exists("images"):
os.makedirs("images")
# 遍历每个img标签,下载图片
for img_tag in img_tags:
try:
img_url = img_tag['src'] # 获取图片链接
# 如果是相对路径,转换为绝对路径
if not img_url.startswith('http'):
img_url = url + img_url
response = requests.get(img_url, stream=True) # 下载图片
with open(os.path.join("images", os.path.basename(img_url)), "wb") as f:
for chunk in response.iter_content(1024): # 分块写入文件
f.write(chunk)
except Exception as e:
print(f"Error downloading image: {e}")
# 爬取特定网页上的图片
download_images('http://example.com') # 将'http://example.com'替换为你想要抓取的网址
阅读全文