优草派  >   Python

如何用python下载图片?三种 Python 下载图片的方法

翟嘉慧            来源:优草派

不知道平时大家在浏览器上看到喜欢的图片,是不是直接在当前页面点击“下载”,运气好可以直接下载,要是它不想让你下载可能会直接跳转去其他页面吧,下面一起来学习如何用python下载图片?三种 Python 下载图片的方法吧。

如何用python下载图片?三种 Python 下载图片的方法

方法一:

平时下载一张图片来说就是普通的右击,然后直接保存,但是大家想过一个问题没有,如果是有上千张照片怎么办呢,利用python解决这个问题就非常炫酷了,看实例:

import urlib.request  
import urlretrieve
img_url=’’http://……/……’    #按F12使用开发者工具,找到图片路径(……)
urlretrieve(img_url,”hh.png”)

这里使用两个参数,一个是图片地址,还有一个图片名字。利用urilb模块看起来十分简洁,符合python语言特点。

方法二:

每张图片的大小不一样,当我们下载文件过大时怎么办呢,这里就需要使用 stream 模式,它的默认值是 False,如果我们下载的文件很大,它会立即开始下载文件并存放到内存中,这样就会使我们的内存立马不足。可以把它设置成 True,这样它就不会立即去下载,而是当你使用 iter_content(iter_lines)遍历内容或者访问内容属性时才开始下载。这样,就可以按照你的需求下载,防止出现内存不足出现。

 方法三:

使用requests模块,去请求该图片地址,使用with open将内容固化到本地,举个例子:

import request  
img_url=’’http://……/……’    #按F12使用开发者工具,找到图片路径(……)
header={
‘User-Agent’:’………….’       #网站头部请求,用来模拟浏览器
}
T= requests.get(img_url,headers=headers,timeout=2)   #设置时间,如果超过两秒则结束请求。

With open(“hh.png”,’wb’)  as f :   #with open 是将图片固化到你的本地,图片用wb表示用二进制形式打开一个文件,用于读写,如果有重复的,它会把内容覆盖,这里是图片,防止下载到同一张,所以用wb。

f.write(T.content)

以上就是关于“如何用python下载图片?三种 Python 下载图片的方式”全部内容,想要了解更多有关python的知识,可继续关注哦!

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行