Grunnleggende http-filnedlasting og lagring på disk i python?
Jeg er ny i Python, og jeg har gått gjennom spørsmål og svar på dette nettstedet for å finne svar på spørsmålet mitt. Men jeg er nybegynner og synes det er vanskelig å forstå noen av løsningene. Jeg trenger en veldig enkel løsning.
Kan noen forklare meg en enkel løsning på 'Nedlasting av en fil via http' og 'Lagring på disk, i Windows'?
Jeg er heller ikke sikker på hvordan jeg skal bruke shutil og os-moduler.
Filen jeg vil laste ned er under 500 MB og er en .gz-arkivfil. hvis noen kan forklare hvordan man pakker ut arkivet og bruker filene i det også, ville det vært flott!
Her er en delvis løsning, som jeg skrev fra forskjellige svar kombinert:
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 noen påpeke feil (nybegynnernivå) og forklare noen enklere metoder for å gjøre dette?
Takk for hjelpen!
En ren måte å laste ned en fil på er:
Denne laster ned en fil fra et nettsted og kaller den
file.gz
. Dette er en av mine favorittløsninger, fra https://stackoverflow.com/questions/3042757/downloading-a-picture-via-urllib-and-python.Dette eksemplet bruker
urllib
-biblioteket, og henter filen direkte fra en kilde.Som nevnt her:
EDIT:
Hvis du fortsatt ønsker å bruke forespørsler, kan du ta en titt på dette spørsmålet eller dette.Jeg bruker wget.
Enkelt og godt bibliotek hvis du vil ha et eksempel?
wget-modulen støtter python 2- og python 3-versjoner