Проблема в том, что ваше Accept-Encoding
сообщает gzip
, поэтому вы, вероятно, получаете сжатое изображение.
Я только что попробовал ваш код с декомпрессией gzip, и он работает без проблем.
pic = download("http://media2.ct.yelpcdn.com/photo/2MdauidaMUazuew2h0pdgQ/l", g=True)
s = getSize(pic)
Так же меняется ваш 'Accept-Encoding'
с 'gzip'
на 'image.*'
ree.add_header('User-Agent',random.choice(agents))
ree.add_header('Accept-Encoding', 'image.*')
Часть 2:
Вы всегда можете запросить gzip
и заключить с попыткой /, кроме здесь, чтобы вернуть данные без изменений, если gzip жалуется.
try:
compressedstream = StringIO(h)
gzipper = gzip.GzipFile(fileobj=compressedstream)
data = gzipper.read()
return data
except IOError: # not gzip
return h