Web-Scraping mit Python: Websitedaten nach einem Login auslesen

Mit den Python-Bibliotheken BeautifulSoup und Requests ziehen Sie beliebige Daten aus dem Netz. Auch Infos hinter einer Anmeldemaske stehen Ihnen offen.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 4 Kommentare lesen
Python: Websitedaten nach einem Login auslesen
Lesezeit: 14 Min.
Inhaltsverzeichnis

Mit einigen Zeilen Python-Code und der Bibliothek BeautifulSoup können Sie nahezu jede beliebige Information von Websites auslesen und in Ihrem Python-Programm automatisch weiterverarbeiten. Aber manche Daten sind nicht öffentlich zugänglich, Sie können erst darauf zugreifen, nachdem Sie sich an einer Website angemeldet haben.

Um an die Daten hinter einer Anmeldung zu kommen, benötigen Sie neben BeautifulSoup die Bibliothek Requests. Mit einer HTML-POST-Methode geben Sie einer Website Anmeldedaten mit und lesen anschließend mit BeautifulSoup die Infos aus, die dem Programm vorher verborgen waren. Anfallende Cookies speichert Requests, sodass Sie nach einer Anmeldung beliebige Seiten der gewünschten Webseite aufrufen können.

Als erstes Beispiel zeigen wir Ihnen, wie Sie sich bei heise online anmelden und etwas auslesen, das im freien Web nicht verfügbar ist: Den vierten Absatz eines heise+-Artikels. Unangemeldet und ohne Abo bekommt man nach drei Absätzen eine Anmeldemaske vorgesetzt. Die Anmeldemaske dürfte sich etwa hier für alle abofreien Leser langsam einfaden. Kann das Test-Programm den vierten Absatz auslesen, dann wissen Sie als Heise+-Abonnenten, dass das Python-Skript funktioniert. In einem komplexeren Beispiel zeigen wir anschließend, wie Sie sich bei der deutschen Wikipedia anmelden.