Python urllib.request Modul

Das urllib.request-Modul erlaubt dir, Daten von URLs mit der Python-Standardbibliothek abzurufen.

from urllib import request

Für viele Projekte sind Drittanbieterbibliotheken wie Requests bequemer. Verwende urllib.request, wenn du eine Lösung nur mit der Standardbibliothek möchtest.

Eine URL öffnen

urlopen gibt ein Antwortobjekt zurück.

from urllib import request

response = request.urlopen('data:text/plain,Hello%20Python')
print(response.headers.get_content_type())
text/plain

Antwortdaten lesen

Antwortinhalte werden als Bytes zurückgegeben.

from urllib import request

response = request.urlopen('data:text/plain,Hello%20Python')
content = response.read()
print(type(content).__name__)
print(content.decode('utf-8'))
bytes
Hello Python

Ein Timeout hinzufügen

Wenn du echte Netzwerk-URLs öffnest, setze ein Timeout, damit dein Programm nicht ewig wartet.

from urllib import request

response = request.urlopen('data:text/plain,ok', timeout=5)
print(response.read().decode('utf-8'))
ok

WARNING

Netzwerkaufrufe können aus vielen Gründen fehlschlagen. Behandle Ausnahmen wie urllib.error.URLError und sei vorsichtig beim Abrufen nicht vertrauenswürdiger URLs.