我想在磁盘上下载gif图片:
http://www.portaportese.it/telefono/es_2014043024395.gif
我找到了下载图片的所有代码,最终在最终保存的图片中出现错误,例如:
GIF图片被截断或不完整。
用几句话说,图片没有正确保存。
有没有人能够提供正确的解决方案,将此图片下载到磁盘上?
任何代码都会返回一个空图像..我试过这个:
import urllib2
picture_page = "http://www.portaportese.it/telefono/es_2014043024395.gif"
opener1 = urllib2.build_opener()
page1 = opener1.open(picture_page)
my_picture = page1.read()
filename = "my_image.gif"
fout = open(filename, "wb")
fout.write(my_picture)
fout.close()
答案 0 :(得分:0)
问题不在于您的Python代码,您尝试下载的图像不存在。如果我使用curl在该URL上发出请求,您可以看到没有图像存储在那里。
~ ❯❯❯ curl -I http://www.portaportese.it/telefono/es_2014043024395.gif
HTTP/1.1 200 OK
Date: Mon, 07 Jul 2014 19:35:05 GMT
Server: Apache/2.2.3 (Red Hat)
Connection: close
Content-Type: text/plain; charset=UTF-8
将此请求与已知图像源进行比较:
~ ❯❯❯ curl -I http://baconmockup.com/300/200
HTTP/1.1 200 OK
Date: Mon, 07 Jul 2014 19:35:42 GMT
Server: Apache/2.4.7 (Ubuntu)
X-Powered-By: PHP/5.5.9-1ubuntu4.2
Access-Control-Allow-Origin: *
Content-Length: 20564
Content-Disposition: inline; filename=brisket-300-200.jpg
Pragma: public
Cache-Control: public
Expires: Mon, 21 Jul 2014 19:35:43 GMT
Last-Modified: Mon, 20 Aug 2012 19:20:21 GMT
Vary: User-Agent
Content-Type: image/jpeg
如果您将代码中的网址更改为良好的图片来源,那么它将非常有效。
import urllib2
picture_page = "http://baconmockup.com/300/200"
opener1 = urllib2.build_opener()
page1 = opener1.open(picture_page)
my_picture = page1.read()
filename = "my_image.gif"
fout = open(filename, "wb")
fout.write(my_picture)
fout.close()
我刚刚跑了这个,给了一张美味的牛腩的照片。