Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
def _fetch_image(cls, url, user_agent):
"""Return the image by URL downloading as little as possible."""
request = urllib2.Request(url)
request.add_header('User-Agent', user_agent)
parser = ImageFile.Parser()
response = None
try:
response = urllib2.urlopen(request)
while True:
chunk = response.read(1024)
if not chunk:
break
parser.feed(chunk)
if parser.image:
return parser.image
except:
return None
finally:
if response:
response.close()
file
не всегда может узнать размеры изображения:curl -s -r 0-24 http://img2-1.timeinc.net/ew/dynamic/imgs/110315/Charade_240.jpg | file -
curl -s -r 0-2000 http://img2-1.timeinc.net/ew/dynamic/imgs/110315/Charade_240.jpg | identify -
-=>/tmp/magick-OZeNcjJh JPEG 240x320 240x320+0+0 8-bit DirectClass 2KB 0.000u 0:00.000
Получаем тип и размеры изображения без скачивания его целиком, используя Python