Wie lade ich in Python 3 Dateien aus dem Web herunter?

Mary-Kate Olsen
Freigeben: 2024-11-04 03:53:01
Original
794 Leute haben es durchsucht

How to Download Files from the Web in Python 3?

Dateien aus dem Web in Python 3 herunterladen

Einführung

Beim Erstellen von Programmen, die mit dem Internet interagieren, ist es oft notwendig, Dateien herunterzuladen von einem Webserver. In Python 3 gibt es mehrere Möglichkeiten, diese Aufgabe zu erfüllen.

Python 3-Lösung

Der ursprünglich bereitgestellte Code stößt auf einen Fehler, da die Funktion einen Bytetyp für das URL-Argument erwartet, der jedoch extrahiert wird Die URL aus der JAD-Datei ist eine Zeichenfolge. Um eine Datei herunterzuladen, wenn die URL als Zeichenfolge gespeichert ist, konvertieren Sie sie mithilfe der UTF-8-Kodierung in einen Bytetyp:

<code class="python">import urllib.request

def downloadFile(URL=None):
    h = urllib.request.urlopen(URL.encode('utf-8'))
    return h.read()

downloadFile(URL_from_file)</code>
Nach dem Login kopieren

Alternative Lösungen:

Es gibt mehrere alternative Methoden dazu Dateien aus dem Internet herunterladen:

  • urllib.request.urlopen: Erhalten Sie den Inhalt einer Webseite, indem Sie die Antwort von urlopen lesen:

    <code class="python">response = urllib.request.urlopen(URL)
    data = response.read() # a `bytes` object
    text = data.decode('utf-8') # a `str`</code>
    Nach dem Login kopieren
  • urllib.request.urlretrieve: Laden Sie eine Datei herunter und speichern Sie sie lokal:

    <code class="python">urllib.request.urlretrieve(URL, file_name)</code>
    Nach dem Login kopieren
  • urllib.request. urlopen Shutil.copyfileobj: Bieten Sie einen sehr empfehlenswerten und korrektesten Ansatz zum Herunterladen von Dateien an:

    <code class="python">with urllib.request.urlopen(URL) as response, open(file_name, 'wb') as out_file:
      shutil.copyfileobj(response, out_file)</code>
    Nach dem Login kopieren
  • urllib.request.urlopen write to bytes object: Einfachere Option, aber nur für kleine Dateien empfohlen:

    <code class="python">with urllib.request.urlopen(URL) as response, open(file_name, 'wb') as out_file:
      data = response.read() # a `bytes` object
      out_file.write(data)</code>
    Nach dem Login kopieren

Verarbeitung komprimierter Daten

Schließlich ist auch die Extraktion komprimierter Daten im laufenden Betrieb möglich möglich:

<code class="python">url = 'http://example.com/something.gz'
with urllib.request.urlopen(url) as response:
    with gzip.GzipFile(fileobj=response) as uncompressed:
        file_header = uncompressed.read(64) # a `bytes` object</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie lade ich in Python 3 Dateien aus dem Web herunter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!