Mit Python und Selenium: Corona-Daten vom RKI-Dashboard scrapen

Dynamische Webseiten sind schwer zu scrapen. Über Selenium automatisieren Sie einen kompletten Browser und holen sich damit auch Daten hinter Javascript-Code.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 17 Kommentare lesen

Das Corona-Dashboard vom RKI

(Bild: Screenshot)

Lesezeit: 21 Min.
Inhaltsverzeichnis

Fußballergebnisse, aktuelle Nachrichten oder Wetterberichte – Daten aus dem Web lassen sich mit Python und den Bibliotheken BeautifulSoup und Requests recht simpel ins eigene Programm holen. Die Informationen können Sie dann aufbereiten und in das Format bringen, das Sie gerade benötigen.

Dieser Ansatz funktioniert aber nur bei statischen Websites. Sobald Javascript ins Spiel kommt, wird es kompliziert. Dann stehen die Daten nicht in einem einfach auslesbaren div-Element, sondern sie werden oft dynamisch geladen, etwa nachdem Sie auf einen Button geklickt, ein Häkchen gesetzt oder Text in eine Suche eingegeben haben. Wenn Sie trotzdem dynamische Webinhalte scrapen möchten, hilft Selenium.

Selenium ist eigentlich ein kostenloses Framework, um Webanwendungen automatisiert zu testen. Wenn etwa ein Tester bei jede Änderungen nicht dauernd dasselbe Webformular neu ausfüllen möchte, dann gibt er Selenium die Befehle vor und das Framework leitet sie an einen gewünschten Browser weiter. Mit dieser Vorgehensweise können Sie nicht nur Webanwendungen testen, sondern auch Javascript-Webseiten scrapen, etwa das Corona-Dashboard des Robert-Koch-Instituts (RKI). So holen Sie sich aktuelle regionale Corona-Daten für Ihren Landkreis, ohne die quälend langsame Website selbst besuchen zu müssen.

Immer mehr Wissen. Das digitale Abo für IT und Technik.






Immer mehr Wissen. Das digitale Abo für IT und Technik.