Pythonで基本的なhttpファイルをダウンロードしてディスクに保存する方法は?質問する

Pythonで基本的なhttpファイルをダウンロードしてディスクに保存する方法は?質問する

私は自分の質問に対する答えを得るために、このサイトの Q&A を調べてきました。しかし、私は初心者なので、いくつかの解決策を理解するのが難しいと感じています。非常に基本的な解決策が必要です。

誰か、「http 経由でファイルをダウンロードする」と「Windows でディスクに保存する」の簡単な解決策を説明していただけませんか?

shutil モジュールと os モジュールの使い方もよくわかりません。

ダウンロードしたいファイルは 500 MB 未満の .gz アーカイブ ファイルです。アーカイブを解凍してその中のファイルを利用する方法も説明していただけると助かります。

以下は、さまざまな回答を組み合わせて作成した部分的な解決策です。

import requests
import os
import shutil

global dump

def download_file():
    global dump
    url = "http://randomsite.com/file.gz"
    file = requests.get(url, stream=True)
    dump = file.raw

def save_file():
    global dump
    location = os.path.abspath("D:\folder\file.gz")
    with open("file.gz", 'wb') as location:
        shutil.copyfileobj(dump, location)
    del dump

誰かエラーを指摘し(初心者レベル)、これを行うより簡単な方法を説明してもらえますか?

ベストアンサー1

ファイルをダウンロードするクリーンな方法は次のとおりです。

import urllib

testfile = urllib.URLopener()
testfile.retrieve("http://randomsite.com/file.gz", "file.gz")

これはウェブサイトからファイルをダウンロードして名前を付けますfile.gz。これは私のお気に入りのソリューションの1つです。urllib と python 経由で画像をダウンロードする

この例ではurllibライブラリを使用し、ソースからファイルを直接取得します。

おすすめ記事