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.