Я пишу скрипт, чтобы загрузить изображение профиля Steam из его URL-адреса, как это предусмотрено API-интерфейсом Steam. Независимо от метода, который я использую, я получаю испорченные результаты:Загрузка изображения из URL с использованием Python с поврежденными результатами
Steam's link to the original image.
Использование "запросов" Библиотека:
avatar = open(avatarName, 'wb')
avatar.write(requests.get(avatarURL).content)
avatar.close()
, а также:
avatar = requests.get(avatarURL)
with open(avatarName, 'wb') as f:
f.write(avatar.content)
И с помощью "URLLIB" Библиотека:
urllib.urlretrieve(avatarURL, avatarName)
, а также:
avatar = urllib.URLopener()
avatar.retrieve(avatarURL, avatarName)
И с помощью Wget непосредственно по ссылке (обратите внимание, что это за пределами Python, только с терминала):
wget http://media.steampowered.com/steamcommunity/public/images/avatars/ad/adec76ed86e8ffa892d847c8e619262d30e74e32_full.jpg
Поскольку это проблема коррупции, я думал, что это, возможно, придется делать с установкой/не устанавливая двоичный флаг при открытии файлового объекта. Еще один метод, который я еще не пробовал, - это импорт команд ОС и использование wget для загрузки файла, а затем работа от него. wget также дает поврежденный результат.
Любопытно, что каждый метод используется для изображений, которые повреждаются точно так же каждый раз.
Я еще не использовал urllib2 (здесь), просто потому, что большая часть Q & A Я проверяю использование urllib.
Какой адрес специально (или другой подобный)? Не имея возможности проверить это, я не могу вам помочь. –
wget работает нормально для этого URL-адреса? – Antigluk
@ sigmavirus24 Пример изображения [здесь.] (Http://media.steampowered.com/steamcommunity/public/images/avatars/ad/adec76ed86e8ffa892d847c8e619262d30e74e32_full.jpg) –