Verwenden Sie urlopen. Da urlretrieve zu Beginn des Downloads eine Datei erstellt, bleiben unvollständige Dateien erhalten, wenn der Download fehlschlägt oder unterbrochen wird.
Beim Herunterladen einer Datei in Python lautet die einfachste Beschreibung urlretrieve.
urlretrieve
import urllib
urllib.request.urlretrieve(download_url, save_dir)
urlretrieve scheint veraltet "zu sein. Wenn Sie dasselbe tun, scheint urlopen empfohlen zu werden. Allerdings ist urlopen ein wenig wie folgt, aber die Beschreibung ist kompliziert. Wenn es also kein Problem gibt, würde ich gerne URL Retrieve verwenden.
urlopen
import urllib
data = urllib.request.urlopen(download_url).read()
with open(save_dir, mode="wb") as f:
f.write(data)
urlopen VS urlretrieve
urlopen hat den Vorteil, dass die Timeout-Option verfügbar ist, aber das ist trivial. Es gibt Hauptgründe, warum Sie urlretrieve </ b> nicht verwenden sollten. Es ist wie folgt.
--urlretireve erstellt zu Beginn des Downloads eine Datei. --urlopen erstellt nach Abschluss des Downloads eine Datei.
urlretireve generiert die Datei zuerst, unabhängig vom Erfolg oder Misserfolg des Downloads. Es ist ein Bild des Schreibens von Daten in die erstellte Datei zu jeder Zeit. Mit anderen Worten, wenn der Download fehlschlägt oder aus irgendeinem Grund unterbrochen wird, wird eine unvollständige Datei erstellt (es handelt sich um eine beschädigte Datei, die überhaupt nicht gelesen werden kann).
Ich war ein bisschen süchtig danach, aber ich hatte keine Informationen, also schrieb ich einen Artikel. Ich denke, es ist ein fatales Problem, also benutze kein Uriretrieve.
Recommended Posts