Heim > Artikel > Backend-Entwicklung > Wie lade ich mit Python 3 Dateien aus dem Internet herunter?
Beim Extrahieren von URLs aus JAD-Dateien zum Herunterladen von JAR-Dateien tritt ein Fehler auf, da die URL als Zeichenfolge gespeichert wird Typ. Um dieses Problem zu lösen, untersuchen wir Methoden zum Herunterladen von Dateien mit Zeichenfolgen-URLs in Python 3.
Abrufen von Webseiteninhalten:
Um den Inhalt einer Webseite abzurufen Als Variable können wir urllib.request.urlopen verwenden und die Antwort lesen:
<code class="python">import urllib.request url = 'http://example.com/' response = urllib.request.urlopen(url) data = response.read() # bytes object text = data.decode('utf-8') # str object</code>
Dateien herunterladen und speichern:
Für einfaches Herunterladen und Speichern von Dateien: urllib .request.urlretrieve ist optimal:
<code class="python">import urllib.request # Download and save file from url to file_name urllib.request.urlretrieve(url, file_name)</code>
Alternativ können Sie den lokalen Pfad und die Antwortheader abrufen:
<code class="python">file_name, headers = urllib.request.urlretrieve(url)</code>
Optimale Lösung mit urlopen und Shutil.copyfileobj:
Der empfohlene Ansatz besteht darin, urllib.request.urlopen zu verwenden, um ein dateiähnliches HTTP-Antwortobjekt abzurufen und es mit Shutil.copyfileobj:
<code class="python">import urllib.request import shutil # Download and save file from url to file_name with urllib.request.urlopen(url) as response, open(file_name, 'wb') as out_file: shutil.copyfileobj(response, out_file)</code>
Alternativer Ansatz für kleine Dateien:
Für kleinere Dateien ist es möglich, den gesamten Download in einem Bytes-Objekt zu speichern und in eine Datei zu schreiben:<code class="python">import urllib.request # Download and save file from url to file_name with urllib.request.urlopen(url) as response, open(file_name, 'wb') as out_file: data = response.read() # bytes object out_file.write(data)</code>
Komprimierte Daten im laufenden Betrieb extrahieren:
Sie können komprimierte Daten auch im laufenden Betrieb extrahieren, wenn der HTTP-Server den zufälligen Dateizugriff unterstützt:Das obige ist der detaillierte Inhalt vonWie lade ich mit Python 3 Dateien aus dem Internet herunter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!