Steam API によって提供される URL から Steam プロフィール画像をダウンロードするスクリプトを作成しています。使用する方法に関係なく、破損した結果が得られます。
「リクエスト」ライブラリの使用:
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
これは破損の問題であるため、ファイル オブジェクトを開くときにバイナリ フラグを設定する/設定しないことに関係があるのではないかと考えていました。 まだ試していない別の方法は、OS コマンドをインポートし、wget を使用してファイルをダウンロードし、そこから作業することです。 wget も破損した結果を返します。
興味深いことに、どの方法を使用しても、毎回まったく同じ方法で画像が破損するようです。
私はまだ urllib2 を使用していません (こちら)。これは、私が確認した Q&A のほとんどが urllib を使用しているためです。