Finanz-Websites sind wahre Goldgruben an tabellarischen Daten. Aktienkurse, ETF-Positionen, Marktindizes, Geschäftsberichte — alles in HTML-Tabellen, bereit zur Analyse.
Aber diese Daten in ein nutzbares Format zu bringen, ist nicht immer einfach.
Dieser Leitfaden behandelt die häufigsten Herausforderungen bei Finanztabellen und praktische Lösungen für eine saubere Extraktion.
Warum Finanztabellen schwierig sind
Finanzdaten haben Eigenheiten, die naive Extraktionsmethoden zum Scheitern bringen.
Gemischte Zahlenformate
US-Seiten zeigen 1,234.56. Europäische Seiten zeigen 1.234,56. Manche Finanzportale mischen beide Formate je nach Datenquelle.
Kopieren und Einfügen in Excel verfälscht diese Werte oft. Aus einem Tausender wird eine Dezimalzahl. Aus einem Datum wird eine Zahl. Chaos.
Echtzeit-Aktualisierungen
Viele Finanztabellen aktualisieren sich dynamisch. Das DOM ändert sich nach dem Seitenaufbau. Wird zu früh gescrapt, erhält man veraltete Daten oder leere Zellen.
Verschachtelte Strukturen
Positionstabellen haben oft ausklappbare Zeilen. Die Top-Positionen eines Fonds zeigen vielleicht 10 Zeilen, mit einem „Alle 50 anzeigen"-Button, der den Rest versteckt. Die ausgeblendeten Daten existieren in der Seite, sind aber nicht sichtbar.
Prozent- und Währungssymbole
+2,34% und 1.234 € sehen für Menschen gut aus. Für eine Tabellenkalkulation sind es Textstrings, die weder sortier- noch berechenbar sind.
Häufige Finanzdatenquellen
Yahoo Finance
Aktienkurse, historische Daten, Portfolio-Positionen. Tabellen sind relativ sauber, aktualisieren sich aber dynamisch.
Tipp: Warten, bis die Seite vollständig geladen ist. Das initiale Rendering zeigt oft Lade-Platzhalter.
Google Finance
Wenige Tabellen, hauptsächlich Karten und Diagramme. Für Massenextraktion weniger nützlich.
Einen ausführlichen Leitfaden finden Sie in unserem Artikel über die beste Chrome-Erweiterung zum Kopieren von Tabellen nach Excel.
Morningstar
Fondspositionen, Performance-Daten, Sektoraufteilungen. Tabellen sind gut strukturiert, aber oft paginiert.
Tipp: Achten Sie auf „Alle anzeigen"- oder Paginierungssteuerungen. Die erste Seite zeigt möglicherweise nur die Top-10-Positionen.
SEC EDGAR
Geschäftsberichte enthalten Tabellen, die jedoch in komplexe Dokumente eingebettet sind. 10-K- und 10-Q-Berichte haben Finanzausweise als HTML-Tabellen.
Tipp: Die Tabellen sind vorhanden, aber von Rechtstexten umgeben. Identifizieren Sie die gewünschte Tabelle vor der Extraktion.
MarketWatch, Investing.com, Reuters
Nachrichtenorientiert, aber mit Datentabellen für Kurse, Geschäftsergebnisse und Wirtschaftskalender.
Extraktionsstrategien
Strategie 1: Direkter Export
Der einfachste Ansatz — wenn die Daten nur einmal benötigt werden.
Tools wie HTML Table Exporter erkennen Tabellen auf der Seite und exportieren direkt nach CSV oder Excel. Kein Code erforderlich.
Speziell für Finanzdaten:
- Bereinigungspresets verwenden, die Zahlenformate normalisieren
- Nach CSV exportieren bei weiterer Verarbeitung; nach Excel, wenn es das Endziel ist
- Prüfen, dass dynamische Inhalte geladen sind, bevor exportiert wird
Strategie 2: Python + Pandas
Für wiederholte Extraktion oder Integration in Pipelines.
import pandas as pd
# Grundlegende Extraktion
tables = pd.read_html('https://example.com/stock-data')
df = tables[0] # Erste Tabelle der Seite
# Mit Header-Angabe
df = pd.read_html(url, header=0)[0]
# Encoding behandeln
df = pd.read_html(url, encoding='utf-8')[0]
Einschränkungen: read_html führt kein JavaScript aus. Dynamische Tabellen werden nicht geladen.
Strategie 3: Selenium für dynamische Inhalte
Wenn Tabellen per JavaScript geladen werden:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import pandas as pd
driver = webdriver.Chrome()
driver.get('https://example.com/stock-data')
# Warten bis Tabelle geladen ist
WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.TAG_NAME, "table"))
)
# Extrahieren
html = driver.page_source
tables = pd.read_html(html)
Kompromiss: Mehr Setup, aber dynamisch gerenderte Inhalte werden verarbeitet.
Finanzdaten bereinigen
Rohexporte müssen meist bereinigt werden.
Währungssymbole entfernen
df['Preis'] = df['Preis'].replace('[€,]', '', regex=True).astype(float)
Prozentangaben verarbeiten
df['Veraenderung'] = df['Veraenderung'].str.rstrip('%').astype(float) / 100
Zahlenformate normalisieren
Für europäisches Format (1.234,56 → 1234.56):
df['Wert'] = df['Wert'].str.replace('.', '', regex=False)
df['Wert'] = df['Wert'].str.replace(',', '.', regex=False).astype(float)
Datumsangaben parsen
Finanzseiten verwenden inkonsistente Datumsformate.
df['Datum'] = pd.to_datetime(df['Datum'], format='mixed')
Praxisbeispiel: ETF-Positionen
Angenommen, Sie möchten die Positionen eines Fonds für die Analyse.
Der manuelle Weg:
- Fondsseite besuchen
- Positionstabelle finden
- In Excel kopieren und einfügen
- 20 Minuten Formatierung korrigieren
Der effiziente Weg:
- Zur Positionstabelle navigieren
- Direkt nach Excel exportieren mit Zahlennormalisierung
- Fertig
Der Unterschied summiert sich. Wer monatlich mehrere Fonds verfolgt, spart durch Automatisierung Stunden.
Edge Cases beachten
Tabellen über Tabs verteilt
Manche Seiten zeigen verschiedene Daten (Positionen, Performance, Risiko) in Tabs, die unterschiedliche Tabellen laden. Jeder Tab ist eine separate Extraktion.
Fußnoten und Annotationen
Finanztabellen lieben Sternchen und Kreuze. 1.234* könnte „geschätzt" bedeuten, bricht aber das numerische Parsing.
Lösung: Nicht-numerische Suffixe vor der Konvertierung entfernen.
Wiederholte Header-Zeilen
Lange Tabellen wiederholen manchmal Header innerhalb der Tabelle zur besseren Lesbarkeit. Die Extraktion könnte doppelte Header-Zeilen als Daten enthalten.
Lösung: Zeilen filtern, bei denen alle Werte dem Header entsprechen.
Wann automatisieren vs. wann manuell exportieren
Manueller Export eignet sich bei:
- Einmaliger Analyse
- Unregelmäßigem Zeitplan
- Unterschiedlichen Tabellen jedes Mal
Automatisierung eignet sich bei:
- Täglichen/wöchentlichen wiederkehrenden Abfragen
- Gleichen Tabellen, gleiche Struktur
- Integration in größere Pipelines
Für die meisten Analysten bei gelegentlicher Recherche ist manueller Export mit einem guten Tool schneller als das Erstellen und Warten von Skripten.
Zusammenfassung
Finanztabellen sind wertvoll, aber unordentlich. Die zentralen Herausforderungen sind Zahlenformate, dynamisches Laden und inkonsistente Strukturen.
Für schnelle Extraktionen decken browserbasierte Tools die meisten Fälle ab. Für Pipelines erledigt Python mit entsprechenden Wartezeiten und Bereinigungen den Rest.
Das Ziel ist nicht perfekte Automatisierung — sondern saubere Daten mit minimalem Aufwand.
Finanztabellen schnell exportieren? Erfahren Sie mehr auf gauchogrid.com/de/html-table-exporter oder probieren Sie HTML Table Exporter kostenlos im Chrome Web Store aus.
Top comments (0)