1. ホーム
  2. python

[解決済み] Pythonで基本的なhttpファイルのダウンロードとディスクへの保存?

2022-03-08 21:58:05

質問

Python初心者で、このサイトのQ&Aを見ながら、自分の疑問に対する答えを探しています。しかし、私は初心者なので、いくつかの解決策を理解するのは難しいと感じています。私は非常に基本的なソリューションが必要です。

Windowsで「httpでファイルをダウンロードする」と「ディスクに保存する」の簡単な解決策をどなたか教えてください。

shutilやosモジュールの使い方もよくわからないのですが。

ダウンロードしたいファイルは500MB以下で、.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

どなたか間違いを指摘し(初心者レベル)、もっと簡単な方法があれば教えてください。

ありがとうございます。

どのように解決するのですか?

ファイルをダウンロードするきれいな方法です。

import urllib

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

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

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