python-爬虫-图片的下载保存

在使用爬虫是面对页面上的图片有三种处理方法

第一种使用request方法下载图片

首先创建了一个名为"images"的文件夹用于保存图片。然后,通过发送HTTP GET请求来获取图片的数据。如果请求成功(状态码为200),则将图片数据保存到本地的文件中。保存图片时需要以二进制写入的方式打开文件,然后将请求返回的内容response.content写入文件中。

需要注意的是,上面的示例只适用于单张图片的下载。如果需要下载多张图片,可以在循环中遍历图片的URL,并根据需要调整文件名和保存路径。另外,还可以考虑使用多线程或异步请求来提高图片下载的效率。

import requests
import os

# 创建保存图片的文件夹
os.makedirs('images', exist_ok=True)

# 爬取图片的URL
url = 'https://example.com/image.jpg'

# 发送HTTP请求获取图片数据
response = requests.get(url)

# 如果请求成功
if response.status_code == 200:
    # 提取图片文件名
    filename = os.path.join('images', 'image.jpg')

    # 保存图片到本地
    with open(filename, 'wb') as f:
        f.write(response.content)
        print('图片已保存:', filename)
else:
    print('图片下载失败')

第二种,image模块保存图片

  1. 使用requests库或其他方式获取图片的二进制数据。
  2. 使用Image.open()函数打开二进制数据并创建一个Image对象。
  3. 使用Image.save()方法保存Image对象到本地文件。
import requests
from PIL import Image
import os

# 创建保存图片的文件夹
os.makedirs('images', exist_ok=True)

# 图片的URL
url = 'https://example.com/image.jpg'

# 发送HTTP请求获取图片数据
response = requests.get(url)

# 如果请求成功
if response.status_code == 200:
    # 提取图片文件名
    filename = os.path.join('images', 'image.jpg')

    # 使用Image.open()打开图片数据并创建Image对象
    img = Image.open(BytesIO(response.content))

    # 保存图片到本地
    img.save(filename)
    print('图片已保存:', filename)
else:
    print('图片下载失败')

第三种,urllib.request.urlretrieve(),保存图片

首先创建了一个名为"images"的文件夹用于保存图片。然后,使用urllib.request.urlretrieve()函数从指定的URL下载图片,并保存到本地的文件中。urlretrieve()函数接受两个参数:图片的URL和保存路径。当下载完成后,它会返回一个包含文件名和HTTP响应信息的元组。

import urllib.request
import os

# 创建保存图片的文件夹
os.makedirs('images', exist_ok=True)

# 图片的URL
url = 'https://example.com/image.jpg'

# 图片保存路径
filename = os.path.join('images', 'image.jpg')

# 下载图片并保存到本地
urllib.request.urlretrieve(url, filename)

print('图片已保存:', filename)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值