Basic-http-Datei herunterladen und speichern auf der Festplatte in python?
Ich bin neu in Python und ich habe gehen durch die Q&A auf dieser Seite, für eine Antwort auf meine Frage. Allerdings bin ich ein Anfänger und ich finde es schwer zu verstehen, einige der Lösungen. Ich brauche eine sehr einfache Lösung.
Könnte mir bitte jemand erklären, wie eine einfache Lösung, um 'das Herunterladen der Datei über http" und "Speichern auf der Festplatte, in Windows' zu mir?
Ich bin mir nicht sicher, wie Sie Sie verwenden, shutil-und os-Modulen, entweder.
Die Datei, die ich herunterladen möchten ist unter 500 MB und ist eine .gz-Archiv Datei.Wenn jemand erklären kann, wie das Archiv extrahieren und nutzen Sie die Dateien in es auch, das wäre toll!
Hier ist eine Teillösung, die ich geschrieben habe aus verschiedenen Antworten kombiniert:
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 darauf hin, Fehler (Anfänger-Niveau) und erklären einfacher Methoden, dies zu tun?
Dank!
InformationsquelleAutor der Frage arvindch | 2013-10-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen sauberen Weg, um eine Datei herunterzuladen ist:
Download einer Datei aus einer website und Namen, die es
file.gz
. Dies ist eines meiner Lieblings-Lösungen, von der Download ein Bild über das urllib und python.In diesem Beispiel verwendet die
urllib
Bibliothek, und es wird direkt die Datei abzurufen form einer Quelle.InformationsquelleAutor der Antwort Blue Ice
Wie bereits erwähnt hier:
EDIT:
Wenn Sie noch verwenden möchten Anfragen, werfen Sie einen Blick auf diese Frage oder diese eine.InformationsquelleAutor der Antwort dparpyani
Benutze ich wget.
Einfache und gute Bibliothek, wenn Sie wollen, zum Beispiel?
wget-Modul unterstützt python 2 und python 3 Versionen
InformationsquelleAutor der Antwort Ali
Vier Methoden mit wget, das urllib-Anfrage.
testRequest - 4469882 function calls (4469842 primitive calls) in 20.236 Sekunden
testRequest2 - 8580 function calls (8574 primitive calls) in 0.072 Sekunden
testUrllib - 3810-Funktion aufruft, (3775 primitive calls) in 0.036 Sekunden
testwget - 3489-Funktionsaufrufe in 0.020 Sekunden
InformationsquelleAutor der Antwort Saurabh yadav
Exotischen Windows-Lösung
InformationsquelleAutor der Antwort Brut
Begann ich auf diesem Weg, weil ESXi ist wget nicht mit SSL kompiliert und ich wollte zum download, eine OVA von einem website-Anbieter direkt auf dem ESXi-host auf der anderen Seite der Welt.
Musste ich die firewall deaktivieren(faul)/https aktivieren durch Bearbeiten der Regeln(richtigen)
erstellt das python-Skript:
ESXi-Bibliotheken sind die Art der gekoppelten unten, aber die open-source-weasel-installer schien zu verwenden, das urllib für https... so dass es mich dazu inspiriert, diesen Weg gehen
InformationsquelleAutor der Antwort Jayme Snyder
Einem anderen, sauberen Weg, um die Datei zu speichern, ist dies:
InformationsquelleAutor der Antwort Ala