Python

So verwenden Sie Urllib in Python

So verwenden Sie Urllib in Python

Python enthält ein Modul namens urllib für die Abwicklung von Uniform Resource Locator (URL)-bezogenen Aufgaben. Dieses Modul ist standardmäßig in Python 3 installiert und ruft URLs verschiedener Protokolle über das urlopen() Funktion. Urllib kann für viele Zwecke verwendet werden, z. B. zum Lesen von Website-Inhalten, Erstellen von HTTP- und HTTPS-Anfragen, Senden von Anforderungsheadern und Abrufen von Antwortheadern. Das urllib -Modul enthält viele andere Module zum Arbeiten mit URLs, wie z urllib.Anfrage, urllib.analysieren, und urllib.Error, unter anderen. Dieses Tutorial zeigt Ihnen, wie Sie das Urllib-Modul in Python verwenden.

Beispiel 1: URLs öffnen und lesen mit urllib.Anfrage

Das urllib.Anfrage Das Modul enthält die Klassen und Methoden, die zum Öffnen und Lesen von URLs erforderlich sind. Das folgende Skript zeigt die Verwendung von urllib.Anfrage Modul zum Öffnen einer URL und zum Lesen des Inhalts der URL. Hier die urlopen() -Methode verwendet wird, um die URL zu öffnen, “https://www.linuxhint.com/.” Wenn die URL gültig ist, wird der Inhalt der URL in der Objektvariablen namens . gespeichert Antwort. Das lesen() Methode der Antwort Objekt wird dann verwendet, um den Inhalt der URL zu lesen.

#!/usr/bin/env python3
# Importanfragemodul von urllib
URL importieren.Anfrage
# Öffnen Sie die spezifische URL zum Lesen mit urlopen()
Antwort = URL.Anfrage.urlopen('https://www.linuxhint.com/')
# Drucken Sie die Antwortdaten der URL
print("Die Ausgabe der URL ist:\n\n",Antwort.lesen())

Ausgabe

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts.

Beispiel 2: Parsen und Entparsing von URLs mit urllib.analysieren

Das urllib.analysieren -Modul wird hauptsächlich verwendet, um die verschiedenen Komponenten einer URL aufzuteilen oder zusammenzufügen. Das folgende Skript zeigt verschiedene Verwendungen der urllib.analysieren Modul. Die vier Funktionen von urllib.analysieren wird im folgenden Skript verwendet URL-Analyse, urlunparse, URL-Split, und urlunsplit. Das URL-Analyse Modul funktioniert wie URL-Split, und der urlunparse Modul funktioniert wie urlunsplit. Es gibt nur einen Unterschied zwischen diesen Funktionen; das ist, URL-Analyse und urlunparse enthalten einen zusätzlichen Parameter namens 'Parameter' für das Teilen und die Verbindungsfunktion. Hier die URL 'https://linuxhint.com/play_sound_python/' wird zum Teilen und Verbinden der URL verwendet.

#!/usr/bin/env python3
 
# Importieren Sie das Parse-Modul von urllib
URL importieren.analysieren
 
# URL mit urlparse() analysieren
urlParse = urllib.analysieren.urlparse('https://linuxhint.com/play_sound_python/')
print("\nDie Ausgabe der URL nach dem Parsen:\n", urlParse)
 
# Beitritts-URL mit urlunparse()
urlUnparse = urllib.analysieren.urlunparse(urlParse)
print("\nDie Join-Ausgabe der Parsing-URL:\n", urlUnparse)
 
# URL mit urlsplit() analysieren
urlSplit = urllib.analysieren.urlsplit('https://linuxhint.com/play_sound_python/')
print("\nDie Ausgabe der URL nach dem Teilen:\n", urlSplit)
 
# Beitritts-URL mit urlunsplit()
urlUnsplit = urllib.analysieren.urlunsplit(urlSplit)
print("\nDie Verbindungsausgabe der Aufteilungs-URL:\n",urlUnsplit)

Ausgabe

Die folgenden vier Ausgaben erscheinen nach dem Ausführen des Skripts.

Beispiel 3: Lesen des Antwortheaders von HTML mit urllib.Anfrage

Das folgende Skript zeigt, wie die verschiedenen Teile des Response-Headers der URL über die die Info() Methode. Das urllib.Anfrage Modul zum Öffnen der URL, 'https://linuxhint.com/python_pause_user_input/,' und die Header-Informationen dieser URL werden über den die Info() Methode. Der nächste Teil dieses Skripts zeigt Ihnen, wie Sie jeden Teil des Headers separat lesen können. Hier die Server, Datum, und Inhaltstyp Werte werden separat gedruckt.

#!/usr/bin/env python3
# Importanfragemodul von urllib
URL importieren.Anfrage
# Öffnen Sie die URL zum Lesen
urlResponse = urllib.Anfrage.urlopen('https://linuxhint.com/python_pause_user_input/')
# Ausgabe des Antwortheaders der URL lesen
print(urlAntwort.die Info())
# Header-Informationen separat lesen
print('Antwortserver = ', urlResponse.info()["Server"])
print('Antwortdatum ist = ', urlResponse.info()["Datum"])
print('Antwort-Inhaltstyp ist = ', urlResponse.info()["Inhaltstyp"])

Ausgabe

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts.

Beispiel 4: URL-Antworten Zeile für Zeile lesen

Im folgenden Skript wird eine lokale URL-Adresse verwendet. Hier eine Test-HTML-Datei namens Prüfung.html wird am Standort erstellt, var/www/html. Der Inhalt dieser Datei wird zeilenweise über die  zum Schleife. Das Streifen() Methode wird dann verwendet, um das Leerzeichen von beiden Seiten jeder Zeile zu entfernen. Sie können eine beliebige HTML-Datei vom lokalen Server verwenden, um das Skript zu testen. Der Inhalt der Prüfung.html Die in diesem Beispiel verwendete Datei ist unten angegeben.

Prüfung.html:



Testseite


#!/usr/bin/env python3
 
# URL importieren.Anfragemodul
URL importieren.Anfrage
 
# Öffne eine lokale URL zum Lesen
Antwort = URL.Anfrage.urlopen('http://localhost/test.html')
 
# Lesen Sie die URL aus der Antwort
print('URL:', Antwort.geturl())
 
# Lesen Sie den Antworttext Zeile für Zeile
print("\nInhalt lesen:")
für Zeile als Antwort:
drucken (Zeile.Streifen())

Ausgabe

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts.

Beispiel 5: Ausnahmebehandlung mit urllib.Error.URL-Fehler

Das folgende Skript zeigt, wie man die URL-Fehler in Python über die urllib.Error Modul. Jede URL-Adresse kann als Eingabe vom Benutzer verwendet werden. Wenn die Adresse nicht existiert, dann ein URL-Fehler Ausnahme wird ausgelöst und der Grund für den Fehler wird gedruckt. Wenn der Wert der URL ein ungültiges Format hat, dann a ValueError wird ausgelöst und der benutzerdefinierte Fehler wird gedruckt.

#!/usr/bin/env python3
 
# Erforderliche Module importieren
URL importieren.Anfrage
URL importieren.Error
 
# try block, um eine beliebige URL zum Lesen zu öffnen
Versuchen:
url = input("Geben Sie eine beliebige URL-Adresse ein: ")
Antwort = URL.Anfrage.URL (URL)
drucken (Antwort).lesen())
 
# Den URL-Fehler abfangen, der beim Öffnen einer URL generiert wird
außer urllib.Error.URL-Fehler als e:
print("URL-Fehler:",e.Grund)
# Fehler durch ungültige URL abfangen
außer ValueError:
print("Geben Sie eine gültige URL-Adresse ein")

Ausgabe

Das Skript wird im folgenden Screenshot dreimal ausgeführt. In der ersten Iteration wird die URL-Adresse in einem ungültigen Format angegeben, wodurch ein ValueError . generiert wird. Die in der zweiten Iteration angegebene URL-Adresse existiert nicht und erzeugt einen URLError. In der dritten Iteration wird eine gültige URL-Adresse angegeben und somit der Inhalt der URL gedruckt.

Beispiel 6: Ausnahmebehandlung mit urllib.Error.HTTP Fehler

Das folgende Skript zeigt, wie man die HTTP Fehler in Python über die urllib.Error Modul. Ein HTML-Fehler generiert, wenn die angegebene URL-Adresse nicht existiert.

#!/usr/bin/env python3
# Erforderliche Module importieren
URL importieren.Anfrage
URL importieren.Error
 
# Geben Sie eine beliebige gültige URL ein
url = input("Geben Sie eine beliebige URL-Adresse ein: ")
# Anfrage für die URL senden
Anfrage = URL.Anfrage.Anfrage(URL)
 
Versuchen:
# Versuchen Sie, die URL zu öffnen
urllib.Anfrage.urlopen(Anfrage)
print("URL vorhanden")
außer urllib.Error.HTTPError als e:
# Fehlercode und Fehlergrund ausdrucken
print("Fehlercode:%d\nFehlergrund:%s" %(e.Code, e.Grund))

Ausgabe

Hier wird das Skript zweimal ausgeführt. Die erste als Eingabe verwendete URL-Adresse existiert und das Modul hat eine Nachricht gedruckt. Die als Eingabe verwendete zweite URL-Adresse existiert nicht und das Modul hat die HTTP Fehler.

Fazit

In diesem Tutorial wurden viele wichtige Verwendungen des urllib Modul anhand verschiedener Beispiele, um den Lesern zu helfen, die Funktionen dieses Moduls in Python kennenzulernen.

Top Oculus App Lab-Spiele
Wenn Sie Besitzer eines Oculus-Headsets sind, müssen Sie über Sideloading informiert sein. Sideloading ist der Prozess der Installation von Inhalten, ...
Top 10 Spiele zum Spielen auf Ubuntu
Die Windows-Plattform war eine der dominierenden Plattformen für Spiele aufgrund des großen Prozentsatzes von Spielen, die heute entwickelt werden, um...
Die 5 besten Arcade-Spiele für Linux
Heutzutage sind Computer ernsthafte Maschinen, die zum Spielen verwendet werden. Wenn du den neuen Highscore nicht bekommst, weißt du was ich meine. I...