ユーザーにファイルURLを入力させてから、私のdjangoアプリケーションでインターネットからファイルをダウンロードさせたいと思います。djangoインターネットからファイルをダウンロードする方法
私の最初の本能は、私のdjangoアプリの中でwgetを呼び出すことでしたが、その後、これを行う別の方法があると思いました。私は何かを見つけることができませんでした。これを行うにはもっとジャンゴの方法がありますか?
ユーザーにファイルURLを入力させてから、私のdjangoアプリケーションでインターネットからファイルをダウンロードさせたいと思います。djangoインターネットからファイルをダウンロードする方法
私の最初の本能は、私のdjangoアプリの中でwgetを呼び出すことでしたが、その後、これを行う別の方法があると思いました。私は何かを見つけることができませんでした。これを行うにはもっとジャンゴの方法がありますか?
これは本当にDjangoに依存していません。 requests
ライブラリを使用するのが好きです。これは、あなたがそれを必要な時はいつでもあなたのモジュールにファイルおよびインポートをある
import requests
def download(url, path, chunk=2048):
req = requests.get(url, stream=True)
if req.status_code == 200:
with open(path, 'wb') as f:
for chunk in req.iter_content(chunk):
f.write(chunk)
f.close()
return path
raise Exception('Given url is return status code:{}'.format(req.status_code))
場所:ここ
は一例です。
もちろん、これは非常に最小限ですが、これはあなたを始めます。
クール、ちょうど私がプレーンなpythonに到達する必要があるかどうかを知りたいライブラリー、またはそれを行うための道化した方法があった – deltaskelta
あなたは、この例のようurllib2のからurlopen使用することができます。
import urllib2
pdf_file = urllib2.urlopen("http://www.example.com/files/some_file.pdf")
with open('test.pdf','wb') as output:
output.write(pdf_file.read())
詳細については、urllib2 docsをお読みください。
http://stackoverflow.com/questions/38508715/python-download-images-with-alernating-variables/38510385#38510385 – Fhaab
ユーザーが指定したものをダウンロードするには、慎重に行う必要があります。 'REQUESTS'ライブラリはそれを扱うことができます:http://docs.python-requests.org/ja/master/user/quickstart/#raw-response-content – Nicarus
[重複している可能性のある[Pythonを使ってHTTP経由でファイルをダウンロードする方法?](http://stackoverflow.com/questions/22676/how-do-i-download-a-file-over-http-using-python) – rafalmp