Web Bank
Zuletzt geändert am 25. Oktober 2008Ich habe ein Konto bei der Deutschen Kreditbank DKB. Für meine private Buchhaltung verwende ich GnuCash. Die Umsätze auf meinem Girokonto kann ich in GnuCash vie HBCI problemlos importieren. Für die Umsätze der Visakarte, die zum Konto gehört, bietet die DKB allerdings keine HBCI-Schnittstelle an, so dass ich gezwungen war, die Umsätze manuell per Copy- und Paste in GnuCash einzufügen.
Diese Arbeit kann allerdings ein Computer besser erledigen. web_bank.py ist ein Python-Skript, das die Web-Oberfläche des Online-Bankings der DKB nach den Umsatzdaten der Kreditkarte durchsucht, und sie in das Quicken Interchange Format umwandelt, das in GnuCash eingelesen werden kann.
web_bank.py herunterladen: web_bank.py
Wird es ohne Parameter aufgerufen, wird ein Hilfetext angezeigt:
$ python web_bank.py
Holt Kreditkarten-Umsätze per Web-Scraping vom Webfrontend der DKB
(Deutsche Kreditbank), direfür diese Daten kein HBCI anbietet.
Die Umsätze werden im Quicken Exchange Format (.qif) ausgegeben
oder gespeichert und können somit in eine Buchhaltungssoftware
importiert werden.
Geschrieben 2007 von Jens Herrmann <jens.herrmann@qoli.de> http://qoli.de
Benutzung des Programms ohne Gewähr. Speichern Sie nicht ihr Passwort
in der Kommandozeilen-History!
Benutzung: web_bank.py [OPTIONEN]
-a, --account=ACCOUNT Kontonummer des Hauptkontos. Angabe notwendig
-p, --password=PASSWORD Passwort (Benutzung nicht empfohlen,
geben Sie das Passwort ein, wenn Sie danach
gefragt werden)
-f, --from=DD.MM.YYYY Buchungen ab diesem Datum abfragen
-t, --till=DD.MM.YYYY Buchungen bis zu diesem Datum abfragen
Default: Heute
-o, --outfile=FILE Dateiname für die Ausgabedatei
Default: Standardausgabe (Fenster)
-v, --verbose Gibt zusätzliche Debug-Informationen aus
Anfangsdatum und Kontonummer müssen angegeben sein.
So sieht ein Beispielaufruf aus. Ersetzen Sie 1234567 durch Ihre Kontonummer. Nach dem Passwort wird gefragt.
python web_bank.py -a 1234567 -f 24.10.2007 -o ausgabe.qif
web_bank.py wurde getestet unter Linux mit Python 2.4 und 2.5. Es sollte allerdings auch unter Windows funktionieren.
Update 25.10.2008:
Inzwischen habe ich herausgefunden, dass man auf der Website immerhin eine kommaseparierte Liste der Buchungen herunterladen kann. Dadurch entfällt das aufwändige Parsen des HTML und man benötigt nicht mehr die unten erwähnten Erweiterungen für Windows. Außerdem können jetzt auch mehr Buchungen exportiert werden, als auf eine Seite im Browser passen. Der Link zum Skript verweist jetzt auf die neue Version. Die alte kann hier noch gefunden werden: web_bank-1.0.py
Update:
Unter Windows werden noch zwei zusätzliche Python-Erweiterungen benötigt:
uTidylib-0.2.1.win32.exe für das "Reparieren" des HTML-Codes
PyXML-0.8.4.win32-py2.4.exe oder PyXML-0.8.4.win32-py2.5.exe je nach Python-Version für das Auslesen der Informationen aus dem reparierten XHTML.
Beschwerden sowie Verbesserungswünsche bitte an jens.herrmann@qoli.de oder im Blog