I'm neu zu Python und I've wurde durch die Q & amp; A auf dieser Website, für eine Antwort auf meine Frage. Allerdings bin ich ein Anfänger und ich finde es schwierig, einige der Lösungen zu verstehen. Ich brauche eine sehr einfache Lösung.
Könnte mir bitte jemand eine einfache Lösung für 'Herunterladen einer Datei über http' und 'Speichern auf der Festplatte, in Windows', erklären?
Ich bin mir auch nicht sicher, wie man shutil und os-Module benutzt.
Die Datei, die ich herunterladen möchte, ist weniger als 500 MB groß und ist eine .gz-Archivdatei. Wenn jemand erklären kann, wie man das Archiv extrahiert und die darin enthaltenen Dateien verwendet, wäre das großartig!
Hier's eine Teillösung, die ich aus verschiedenen Antworten kombiniert geschrieben habe:
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
Könnte jemand auf Fehler hinweisen (Anfängerniveau) und einfachere Methoden erklären, um dies zu tun?
Danke!
Eine saubere Methode zum Herunterladen einer Datei ist:
import urllib
testfile = urllib.URLopener()
testfile.retrieve("http://randomsite.com/file.gz", "file.gz")
Dies lädt eine Datei von einer Website herunter und nennt sie file.gz
. Dies ist eine meiner Lieblingslösungen, von https://stackoverflow.com/questions/3042757/downloading-a-picture-via-urllib-and-python.
Dieses Beispiel verwendet die urllib
-Bibliothek und ruft die Datei direkt aus einer Quelle ab.
Wie bereits hier erwähnt:
import urllib
urllib.urlretrieve ("http://randomsite.com/file.gz", "file.gz")
EDIT:
Wenn Sie immer noch Anfragen verwenden wollen, werfen Sie einen Blick auf diese Frage oder diese.
Ich verwende wget.
Einfache und gute Bibliothek, wenn Sie möchten, Beispiel?
import wget
file_url = 'http://johndoe.com/download.zip'
file_name = wget.download(file_url)
wget Modul unterstützt Python 2 und Python 3 Versionen