我使用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],输入它会得到: “文本/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”
据我所知,你没有做错什么。Urllib只是猜错了mime类型。我不知道你到底想做什么,但你可以说
检索文件类型,然后检查它是否包含在不同图像文件类型的数组中,以确定它是否是指向图像的链接。你知道吗
相关问题 更多 >
编程相关推荐