2

次のpythonコードがあります:

import urllib2
DIR = '/home/aaron/Desktop/aaron-file/media/'
LOC = DIR+'/'+bounty.title+'.mp3'

u = urllib2.urlopen(url, 'rb')
localFile = open(LOC, 'wb')
localFile.write(u.read())
localFile.close()
u.close()

小さなファイル (約 60kb ファイル) しか作成されず、ファイルは正常に動作し、突然の停止を受け入れます。Firefox からダウンロードすると (同じ URL をコピーして貼り付けます)、フル サイズのファイル (約 2 MB) が得られます。

私は32ビットのubuntuを実行しています。

更新: http content-length が不正確であることに問題がある可能性があると思います。では、どうすれば別の長さを無視/設定できますか。

ありがとう。

4

1 に答える 1

1

ダウンロード元のサーバーが urllib2 のデフォルトのユーザー エージェントを拒否している可能性があります。次のように、偽のユーザー エージェント ヘッダーを使用してカスタム オープナーを作成することを検討してください。

opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]

opener()の代わりに使用しますurllib2.urlopen()

于 2013-02-19T07:40:44.437 に答える