[解決済み] URLから返送されたZipファイルをダウンロードする
2022-09-09 11:39:07
質問
ウェブブラウザで送信すると、zipファイルを保存するためのダイアログボックスをポップアップするURLがある場合、Pythonでこのzipファイルをキャッチしてダウンロードするにはどうすればよいでしょうか?
どのように解決するのですか?
多くの人は
requests
が利用可能であれば
requests
ドキュメント
は、URLから生データをダウンロードし、保存するためにこれを推奨します。
import requests
def download_url(url, save_path, chunk_size=128):
r = requests.get(url, stream=True)
with open(save_path, 'wb') as fd:
for chunk in r.iter_content(chunk_size=chunk_size):
fd.write(chunk)
回答はダウンロードについて尋ねているので と保存 について尋ねているので、zip ファイルを読むことについての詳細には踏み込んでいません。可能性については、以下の多くの回答のうちの 1 つを参照してください。
もし何らかの理由で
requests
を使用することができます。
urllib.request
を代わりに使うことができます。上記ほど堅牢ではないかもしれません。
import urllib.request
def download_url(url, save_path):
with urllib.request.urlopen(url) as dl_file:
with open(save_path, 'wb') as out_file:
out_file.write(dl_file.read())
最後に、まだPython 2を使っている場合は
urllib2.urlopen
.
from contextlib import closing
def download_url(url, save_path):
with closing(urllib2.urlopen(url)) as dl_file:
with open(save_path, 'wb') as out_file:
out_file.write(dl_file.read())
関連
-
[解決済み] 関数デコレータを作成し、それらを連鎖させるには?
-
[解決済み] ブラウザによって異なるURLの最大長とは?
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] URI、URL、URNの違いは何ですか?
-
[解決済み] JavaScriptで現在のURLを取得する?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] HTTPでファイルをダウンロードするには?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
-
[解決済み] あるメソッドが複数の引数のうち1つの引数で呼び出されたことを保証する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Django のテストデータベースをメモリ上だけで動作させるには?
-
[解決済み] Python 3でバイナリデータを標準出力に書き込むには?
-
[解決済み] Django Rest Framework ファイルアップロード
-
[解決済み] Pythonで0xを使わずにhex()を使うには?
-
[解決済み] pandasのタイムゾーンに対応したDateTimeIndexを、特定のタイムゾーンに対応したナイーブなタイムスタンプに変換する。
-
[解決済み] virtualenv の `--no-site-packages` オプションを元に戻す。
-
[解決済み] Pythonでファイルの読み込みと上書きをする
-
[解決済み] Django filter queryset __in for *every* item in list
-
[解決済み] Python の sorted() はどのようなアルゴリズムを使っているのですか?重複
-
[解決済み] pipの依存性/必要条件をリストアップする方法はありますか?