【发布时间】:2014-05-10 05:28:25
【问题描述】:
我正在使用 urllib python 模块从外部 URL 获取图像。 它运作良好,但有些图像给我带来了这样的问题: https://cdn.tutsplus.com/wp/uploads/2014/01/grunt-logo-400.png
我的代码如下
import urllib
img = urllib.urlretrieve("https://cdn.tutsplus.com/wp/uploads/2014/01/grunt-logo-400.png")
当我打印 img 时,它会显示: "/tmp/tmpbuhfUW.png"
但如果我打印 img[1].type 它会给我: “文本/html”
所以文件类型不正确。
有什么办法吗?
PS:我检查了下载图像的 /tmp 文件夹,发现图像是空白的。 PS2:我也试过 urllib2.urlopen("cdn.tutsplus.com/wp/uploads/2014/01/grunt-logo-400.png") 但它给了我错误 403
更新: 最后我通过执行以下操作解决了它:
class MyOpener(urllib.FancyURLopener):
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()
i = myopener.retrieve("https://cdn.tutsplus.com/wp/uploads/2014/01/grunt-logo-400.png")
现在它将文件类型打印为“image/png”
【问题讨论】: