zurück zum Artikel

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

Marvin Strathmann

Das Corona-Dashboard vom RKI

(Bild: Screenshot)

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

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.


URL dieses Artikels:
https://www.heise.de/-5032291