无法使用python urllib下载图像

时间:2018-03-20 14:40:16

标签: python python-2.7 urllib

我正在尝试使用python和urllib下载图像。

这是我的第一次尝试:

import urllib
url = "https://xxxxxxxxxxxxxxxxxxxxxxxxxx.jpg"
urllib.urlretrieve(url, "myimage.jpg")

结果是一个空的(0字节)文件,名为" myimage.jpg"

可以从同一链接的浏览器访问该图像。所以我尝试使用我发现的脚本更改use user用户代理:

from urllib import FancyURLopener

url = "https://xxxxxxxxxxxxxxxxxxxxxxxxxx.jpg"

class MyOpener(FancyURLopener, object):
    version = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11'

myopener = MyOpener()
myopener.retrieve(url, 'myimage.jpg')

结果又是一个名为" myimage.jpg"的空(0字节)文件。

附加说明:

  1. 无法从浏览器访问 robots.txt 文件:"访问被拒绝错误"代码403.

  2. 在网址中有以下字样:' ssl'

  3. 我该怎么办?

    编辑:图片从其他网络域链接。我注意到只有在我第一次从这个特定的Web域打开图像时才可以从浏览器访问该图像。如果我清除了cookie,图像将无法访问。

1 个答案:

答案 0 :(得分:0)

如果网址存在

import urllib

url = "https://www.lhorn.de/images/6cfYoU3.png"
png = urllib.urlretrieve(url, "nodejs-1995.png")