【发布时间】:2015-07-25 14:11:26
【问题描述】:
当我使用 python 通过 urllib2 请求或 urllib.urlretrieve 从 url 保存图像时遇到问题。那就是图片的url是有效的。我可以使用资源管理器手动下载它。但是,当我使用python下载图像时,无法打开文件。我使用 Mac OS 预览来查看图像。谢谢!
更新:
代码如下
def downloadImage(self):
request = urllib2.Request(self.url)
pic = urllib2.urlopen(request)
print "downloading: " + self.url
print self.fileName
filePath = localSaveRoot + self.catalog + self.fileName + Picture.postfix
# urllib.urlretrieve(self.url, filePath)
with open(filePath, 'wb') as localFile:
localFile.write(pic.read())
我要下载的图片网址是 http://site.meishij.net/r/58/25/3568808/a3568808_142682562777944.jpg
这个 URL 是有效的,我可以通过浏览器保存它,但是 python 代码会下载一个无法打开的文件。预览显示“它可能已损坏或使用了预览无法识别的文件格式。” 我比较了通过 Python 下载的图像和通过浏览器手动下载的图像。前者的大小要小几个字节。所以看起来文件是未完成的,但是不知道为什么python不能完全下载。
【问题讨论】:
-
为什么打不开?你得到什么错误?
file <filename>告诉你什么?文件下载是否正确,或者您是否被User-Agent或Cookie限制或类似限制? -
请在问题中包含您正在尝试的python代码
-
很抱歉让您感到困惑。我提供了更多细节。非常感谢。不知道是不是因为python中的http请求和浏览器下载不一样,所以python不能给我带来完整的图片文件。
-
看来requests是比urllib和urllib2好很多的模块
标签: python image download urllib