python下载图片

使用爬虫获取了图片链接,想要保存在本地却不知道如何操作,请看下文~

下面的代码有两个函数:

get_url
  • 输入参数data_file是文件路径
  • 目的:从csv文件里获取图片链接,并将链接保存为一个列表。
get_img
  • 输入参数img_url是图片链接,比如 ‘https://images.media-allrecipes.com/userphotos/300x300/984477.jpg’
  • 输入参数file_path 是图片保存地址,比如’D:/breakfast/img’
  • 目的:从图片链接下载图片到本地
下面的代码实现了从csv文件获取url链接并批量下载到本地的功能。
import os, stat
import urllib.request
import csv

def get_url(data_file):
    url_list = []
    linenum = 0
    with open(data_file, "r") as f:
        w = csv.reader(f, delimiter=',')
        for line in w:
            if linenum == 0:
                linenum += 1
                continue
            url_list.append(line[-1])
    return url_list
def get_img(img_url,file_path):
    file_name = img_url[-10:-4]
    try:
        # 是否有这个路径
        if not os.path.exists(file_path):
            # 创建路径
            os.makedirs(file_path)
            # 获得图片后缀
        file_suffix = os.path.splitext(img_url)[1]
        print(file_suffix)
        # 拼接图片名(包含路径)
        filename = '{}{}{}{}'.format(file_path, os.sep, file_name, file_suffix)
        print(filename)
        # 下载图片,并保存到文件夹中
        urllib.request.urlretrieve(img_url, filename=filename)

    except IOError as e:
        print("IOError")
    except Exception as e:
        print("Exception")
if __name__ == "__main__":
    file_path = 'D:/breakfast/img'
    url_list = get_url("../data/breakfast.csv")
    for url in url_list:
        get_img(url,file_path)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

破落之实

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值