美文网首页python
python下载图片并保存到文件夹

python下载图片并保存到文件夹

作者: 4ffde5305e8f | 来源:发表于2017-02-25 22:41 被阅读11419次

    从网络下载图片并保存到磁盘文件中

    1. 建立保存图片的目录
      如果目录不存在,则建立文件目录。
      使用os.makedirs(file_path)建立目录,而不是使用os.mkdir(file_path)。
      因为mkdir只能建立单级文件目录。
      makedirs则能建立多级文件目录,也能建立单级文件目录。
      单级文件目录:img
      多级文件目录:my/book/img
    2. 获得图片名(包含路径)
      从图片url中取得图片后缀——jgp,png之类的
      os.path.splitext(path)
      将文件路径(包含文件名)拆分为:[路径\文件名, 文件后缀]
      拼接图片名(包含路径)
      filename = 目录路径 +文件分隔符+ 图片名+图片后缀
      使用os.sep获得系统文件分隔符,避免不同平台造成不同的文件分隔符。
    3. 下载图片
      使用urllib.urlretrieve(url,filename)下载图片

    代码如下

    def save_img(img_url,file_name,file_path='book\img'):
        #保存图片到磁盘文件夹 file_path中,默认为当前脚本运行目录下的 book\img文件夹
        try:
            if not os.path.exists(file_path):
                print '文件夹',file_path,'不存在,重新建立'
                #os.mkdir(file_path)
                os.makedirs(file_path)
            #获得图片后缀
            file_suffix = os.path.splitext(img_url)[1]
            #拼接图片名(包含路径)
            filename = '{}{}{}{}'.format(file_path,os.sep,file_name,file_suffix)
           #下载图片,并保存到文件夹中
            urllib.urlretrieve(img_url,filename=filename)
        except IOError as e:
            print '文件操作失败',e
        except Exception as e:
            print '错误 :',e
    

    我们来下载简书首页的图片来测试一下:


    image.png

    下载这个图片

    if __name__ == '__main__':
        img_url = 'http://upload.jianshu.io/admin_banners/web_images/2474/259a36ccbca577c3064c68ab3c0f1834d77456d7.png'
        save_img(img_url,'jianshu')
    

    运行结果如下:


    image.png
    image.png

    保存到指定文件目录:

    if __name__ == '__main__':
        file_path = 'I:'+os.sep + 'myimg'
        img_url = 'http://upload.jianshu.io/admin_banners/web_images/2474/259a36ccbca577c3064c68ab3c0f1834d77456d7.png'
        save_img(img_url,'jianshu',file_path=file_path)
    

    运行结果如下:


    image.png
    image.png

    相关文章

      网友评论

        本文标题:python下载图片并保存到文件夹

        本文链接:https://www.haomeiwen.com/subject/ttjnwttx.html