Ik'ben nieuw in Python en ik'heb de Q&A op deze site doorgenomen, voor een antwoord op mijn vraag. Echter, ik'ben een beginner en ik vind het moeilijk om sommige oplossingen te begrijpen. Ik heb een zeer eenvoudige oplossing nodig.
Kan iemand mij een eenvoudige oplossing uitleggen voor 'Het downloaden van een bestand via http' en 'Het opslaan op schijf, in Windows'?
Ik weet ook niet zeker hoe ik shutil en os modules moet gebruiken.
Het bestand dat ik wil downloaden is minder dan 500 MB en is een .gz archiefbestand. Als iemand me kan uitleggen hoe ik het archief uitpak en de bestanden erin ook kan gebruiken, zou dat geweldig zijn!
Hier's een gedeeltelijke oplossing, die ik schreef uit verschillende antwoorden gecombineerd:
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
Kan iemand mij wijzen op fouten (beginners niveau) en eventuele makkelijkere methodes uitleggen om dit te doen?
Alvast bedankt!
Een nette manier om een bestand te downloaden is:
import urllib
testfile = urllib.URLopener()
testfile.retrieve("http://randomsite.com/file.gz", "file.gz")
Dit download een bestand van een website en geeft het de naam file.gz
. Dit is een van mijn favoriete oplossingen, van https://stackoverflow.com/questions/3042757/downloading-a-picture-via-urllib-and-python.
Dit voorbeeld gebruikt de urllib
bibliotheek, en het zal direct het bestand van een bron ophalen.
Zoals gezegd hier:
import urllib
urllib.urlretrieve ("http://randomsite.com/file.gz", "file.gz")
EDIT:
Als je toch requests wilt gebruiken, kijk dan eens naar deze vraag of deze.
Ik gebruik wget.
Eenvoudige en goede bibliotheek als je een voorbeeld wilt?
import wget
file_url = 'http://johndoe.com/download.zip'
file_name = wget.download(file_url)
wget module ondersteuning python 2 en python 3 versies