[解決済み] URLから返送されたZipファイルをダウンロードする
2022-03-04 13:18:45
質問
ウェブブラウザで送信すると、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())
関連
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み] 関数デコレータを作成し、それらを連鎖させるには?
-
[解決済み] ブラウザによって異なるURLの最大長とは?
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] URI、URL、URNの違いは何ですか?
-
[解決済み] JavaScriptで現在のURLを取得する?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] HTTPでファイルをダウンロードするには?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】2つの辞書を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 実装 サイバーパンク風ボタン
おすすめ
-
Python関数の高度な応用を解説
-
python string splicing.join()とsplitting.split()の説明
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
PythonはWordの読み書きの変更操作を実装している
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み】TypeError: 系列を <class 'float'> に変換することができません。
-
[解決済み】TypeErrorを取得しました。エントリを持つ子テーブルの後に親テーブルを追加しようとすると、 __init__() missing 1 required positional argument: 'on_delete'
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない