5

次の URL から画像を取得しようとしています。

image_url = http://www.eatwell101.com/wp-content/uploads/2012/11/Potato-Pancakes-recipe.jpg?b14316

ブラウザでナビゲートすると、確かに画像のように見えます。しかし、試してみるとエラーが発生します:

import urllib, cStringIO, PIL
from PIL import Image

img_file = cStringIO.StringIO(urllib.urlopen(image_url).read())   
image = Image.open(img_file)

IOError: 画像ファイルを識別できません

この方法で何百もの画像をコピーしたので、ここで何が特別なのかわかりません。この画像を取得できますか?

4

3 に答える 3

2

画像を取得するには、まず画像を保存してから PIL にロードします。例えば:

import urllib2,PIL

opener = urllib2.build_opener(urllib2.HTTPRedirectHandler(), urllib2.HTTPCookieProcessor())
image_content = opener.open("http://www.eatwell101.com/wp-content/uploads/2012/11/Potato-Pancakes-recipe.jpg?b14316").read()
opener.close()

save_dir = r"/some/folder/to/save/image.jpg"
f = open(save_dir,'wb')
f.write(image_content)
f.close()

image = Image.open(save_dir)
...
于 2014-07-11T06:45:47.970 に答える