httpでPythonでいくつかのファイルをダウンロードする必要があります。それを行うには「スマート」な方法でPythonを使ってファイルをダウンロードするには?
最も明白な方法は、ちょうどurllib2のを使用している:
import urllib2
u = urllib2.urlopen('http://server.com/file.html')
localFile = open('file.html', 'w')
localFile.write(u.read())
localFile.close()
しかし、私はいくつかの方法で厄介なURLに対処する必要があります、次のように言う:http://server.com/!Run.aspx/someoddtext/somemore?id=121&m=pdf
。ブラウザを介してダウンロードすると、そのファイルは人間が判読可能な名前を持ちます。 accounts.pdf
。
これをPythonで処理する方法はありますか?そのため、ファイル名を知り、スクリプトにハードコードする必要はありませんか?
Content-Disposition: attachment; filename="the filename.ext"
あなたはそのヘッダーをつかむことができる場合、あなたは適切なファイル名を取得することができます。そのような
サーバー上のファイル名は適切ですか?おそらく、これらのファイルには何らかの意味があるので、自分で名前を付けることができなければなりません。名前に意味がない場合は、ランダムな一意の名前を自分で作成してください(おそらく?) –
私はファイル名を読みやすく、意味のあるものにしたいと思っています。問題は、スクリプトがテキストファイルからダウンロードするURLを取得し、URLが技術者以外の人によって追加され削除されることです。 – kender