Webdaten mit Pythons urllib abrufen: Praktischer Leitfaden
Webdaten mit Pythons urllib abrufen
Was ist urllib?
urllib ist ein eingebautes Python-Modul, das das Öffnen von URLs und das Handling von Web-Ressourcen vereinfacht. Es bietet Funktionen und Klassen zum Fetchen, Parsen und Verarbeiten von URLs, sodass Entwickler XML, HTML, JSON und andere Datenformate direkt aus dem Internet abrufen können.
In diesem Tutorial demonstrieren wir, wie urllib verwendet wird, um:
- Eine URL zu öffnen und den HTTP-Response-Code zu prüfen.
- Den vollständigen HTML-Content einer Webseite zu lesen.
URL mit urllib öffnen
Vor jedem Netzwerk-Request das passende urllib-Modul importieren:
import urllib.request # Python 3
# import urllib2 # Python 2 (in neueren Releases deprecated)
Haupt-Routine definieren, Ziel-URL spezifizieren und Verbindung mit urlopen() öffnen. Als Beispiel nutzen wir den Guru99 YouTube Channel:
def main():
url = urllib.request.urlopen("https://www.youtube.com/user/guru99com")
print("result code: " + str(url.getcode()))
data = url.read()
print(data.decode('utf-8'))
if __name__ == "__main__":
main()
Die getcode()-Methode gibt den HTTP-Statuscode zurück (z. B. 200 für Erfolg). Die read()-Methode ruft die rohen Bytes der Seite ab, die wir zu UTF-8 dekodieren für Lesbarkeit.
HTML-Content lesen
Sobald die URL offen ist, können Sie das HTML durch einfaches Aufrufen von read() extrahieren. Die resultierenden Bytes repräsentieren das gesamte HTML-Dokument, das Sie dann mit Bibliotheken wie BeautifulSoup parsen oder direkt anzeigen können.
Unten ein visuelles Beispiel des dekodierten HTML-Outputs in der Konsole:
Vollständige Code-Beispiele
Zur Referenz bieten die folgenden Sektionen vollständige Skripte für Python 2 und Python 3 Umgebungen.
Python 2 Beispiel
import urllib2
def main():
web_url = urllib2.urlopen("https://www.youtube.com/user/guru99com")
print("result code: " + str(web_url.getcode()))
data = web_url.read()
print(data)
if __name__ == "__main__":
main()
Python 3 Beispiel
import urllib.request
web_url = urllib.request.urlopen('https://www.youtube.com/user/guru99com')
print('result code: ' + str(web_url.getcode()))
print(web_url.read().decode('utf-8'))
Python
- SaaS und Cloud navigieren: Warum sorgfältiges Datenmanagement entscheidend ist
- Python-Schlüsselwörter & Bezeichner: Reservierte Wörter & Benennungskonventionen meistern
- Python-Anweisungen, Einrückung & Kommentare: Klare Anleitung
- Python-Variablen, Konstanten & Literale – Umfassender Leitfaden
- Python-Datentypen meistern: Praxisleitfaden
- Python-Typkonvertierung & Casting meistern: Umfassender Leitfaden
- Python I/O & Modul-Importe meistern: Praxisleitfaden
- Python Global, Local & Nonlocal Variablen verstehen
- Verzeichnis- und Dateioperationen in Python meistern
- Python-Fehler & eingebaute Exceptions meistern