Heim >Backend-Entwicklung >Python-Tutorial >So herunterladen Sie Dateien in Python

So herunterladen Sie Dateien in Python

William Shakespeare
William ShakespeareOriginal
2025-03-01 10:03:14319Durchsuche

How to Download Files in Python

Python bietet eine Vielzahl von Möglichkeiten zum Herunterladen von Dateien aus dem Internet, die über HTTP mithilfe des urllib -Pakets oder der requests -Bibliothek heruntergeladen werden können. In diesem Tutorial wird erläutert, wie Sie diese Bibliotheken verwenden, um Dateien von URLs von Python herunterzuladen.

requests Bibliothek

requests ist eine der beliebtesten Bibliotheken in Python. Es ermöglicht das Senden von HTTP/1.1 -Anfragen, ohne die URLs oder die Formulierung von Postdaten manuell hinzuzufügen.

requests Die Bibliothek kann viele Funktionen ausführen, einschließlich:

  • Formulardaten
  • hinzufügen
  • fügen Sie mehrteilige Datei
  • hinzu
  • Zugriff auf Python -Antwortdaten

Senden Sie eine Anfrage

Zunächst müssen Sie die Bibliothek installieren, die Methode ist sehr einfach:

pip install requests

Um zu testen, ob die Installation erfolgreich ist, können Sie einfach den folgenden Befehl im Python -Interpreter eingeben:

import requests

Wenn die Installation erfolgreich ist, tritt kein Fehler auf.

HTTP -Anforderungen umfassen:

  • Holen Sie sich
  • post
  • put
  • löschen
  • Optionen
  • Kopf

Senden Sie eine Get -Anfrage

Senden einer Anfrage ist sehr einfach, wie unten gezeigt:

import requests
req = requests.get("https://www.google.com")

Der obige Befehl erhalten die Google -Seite und speichert die Informationen in status_code.

import requests
req = requests.get("https://www.google.com")
req.status_code
200  # 200 表示请求成功

Was ist, wenn Sie den Codierungstyp der Google -Webseite wissen möchten?

req.encoding
'ISO-8859-1'

Vielleicht würde ich gerne wissen, was die Antwort ist:

req.text

Dies ist nur ein verkürzter Bestandteil des Antwortinhalts.

<code>'<meta content="Search the world\'s information, including webpages, imag...'</code>

Postanforderung

senden

Einfach ausgedrückt werden Postanfragen verwendet, um Daten zu erstellen oder zu aktualisieren, insbesondere für Formulareinreichungen.

Angenommen, es gibt ein Registrierungsformular und Sie müssen Ihre E -Mail -Adresse und Ihr Passwort eingeben. Wenn Sie auf die Schaltfläche "Register Senden" klicken, sieht die Postanforderung so aus:

data = {"email": "info@tutsplus.com",
        "password": "12345"}
req = requests.post("http://www.google.com", params=data)

Senden Sie Put Anfrage

Put -Anforderung ähnelt einer Postanforderung und wird zum Aktualisieren von Daten verwendet. Beispielsweise zeigt die folgende API, wie eine Put -Anfrage ausgestellt werden soll:

data = {"name": "tutsplus",
        "telephone": "12345"}
r.put("http://www.contact.com", params=data)

Anfrage löschen

Wie der Name schon sagt, wird eine Löschanforderung zum Löschen von Daten verwendet. Hier ist ein Beispiel für eine Löschanforderung:

data = {'name': 'Tutsplus'}
url = "https://www.contact.com/api/"
response = requests.delete(url, params=data)

urllib Paket

Das

urllib Paket sammelt mehrere Module für die Verarbeitung von URLs:

  • urllib.error enthält die von urllib.parse ausgelöste Ausnahme, um URL
  • zu analysieren
  • robots.txt Datei

urllib.request Wie unten gezeigt:

import urllib.request
with urllib.request.urlopen('http://python.org/') as response:
    html = response.read()

Wenn Sie Internet -Ressourcen abrufen und speichern möchten, können Sie dies über die Funktion urlretrieve() tun:

import urllib.request
filename, headers = urllib.request.urlretrieve('http://python.org/')
html = open(filename)

Verwenden Sie Python, um Bilder

herunterzuladen

In diesem Beispiel werden die requests -Bibliothek und urllib Modul verwendet, um dieses Beispielbild herunterzuladen.

url = 'https://www.python.org/static/opengraph-icon-200x200.png'
# 使用 urllib 下载
# 导入 urllib 库
import urllib.request
# 将网络对象复制到本地文件
urllib.request.urlretrieve(url, "python.png")
# 使用 requests 下载
# 导入 requests 库
import requests
# 以二进制格式下载 url 内容
r = requests.get(url)
# open 方法打开系统上的文件并写入内容
with open("python1.png", "wb") as code:
    code.write(r.content)

Verwenden Sie Python, um PDF -Dateien herunterzuladen

In diesem Beispiel wird eine PDF -Datei zu Google Trends heruntergeladen.

url = 'https://static.googleusercontent.com/media/www.google.com/en//googleblogs/pdfs/google_predicting_the_present.pdf'
# 使用 urllib 下载
# 导入 urllib 包
import urllib.request
# 将网络对象复制到本地文件
urllib.request.urlretrieve(url, "tutorial.pdf")
# 使用 requests 下载
# 导入 requests 库
import requests
# 以二进制格式下载文件内容
r = requests.get(url)
# open 方法打开系统上的文件并写入内容
with open("tutorial1.pdf", "wb") as code:
    code.write(r.content)

Verwenden Sie Python, um ZIP -Dateien

herunterzuladen

In diesem Beispiel wird der Inhalt des Github -Repositorys heruntergeladen und die Dateien lokal gespeichert.

pip install requests

Verwenden Sie Python, um Videos

herunterzuladen

In diesem Beispiel wird eine Videovorlesung heruntergeladen.

import requests

Verwenden Sie Python, um CSV -Dateien zu herunterladen

Sie können auch die Bibliotheken requests und urllib verwenden, um CSV -Dateien herunterzuladen und das csv -Modul zu verwenden, um die Antwort zu verarbeiten. Verwenden wir einige Beispiele für CSV -Adressdaten.

import requests
req = requests.get("https://www.google.com")

Schlussfolgerung

Dieses Tutorial führt die am häufigsten verwendeten Datei -Download -Methoden und die häufigsten Dateiformate vor. Although less code is written when using the urllib module, the .netrc module is more recommended due to its simplicity, popularity, and many additional features including: keep-alive and connection pooling, sessions with cookie persistence, browser-style SSL verification, automatic content decoding, authentication, automatic decompression, Unicode response body, HTTP(S) proxy support, multipart file upload, streaming download, connection timeout, chunked request, requests support).

Das obige ist der detaillierte Inhalt vonSo herunterladen Sie Dateien in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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