read_transactions.webcrawler.ariva¶
- author:
Tim Häberlein
- version:
2.0
- date:
21.10.2025
- organisation:
TU Dresden, FZM
ArivaCrawler¶
Crawler für Kursdaten von ariva.de.
- Verwendung:
from read_transactions.webcrawler.ariva import ArivaCrawler
- with ArivaCrawler() as crawler:
crawler.login() crawler.download_data() crawler.process_data() crawler.save_data()
Attributes¶
Classes¶
Crawler für Kursdaten von ariva.de. |
Module Contents¶
- class read_transactions.webcrawler.ariva.ArivaCrawler(*args, **kwargs)¶
Bases:
read_transactions.webcrawler.WebCrawlerCrawler für Kursdaten von ariva.de.
Der Crawler automatisiert den Login auf ariva.de, öffnet für alle in der Konfiguration hinterlegten Wertpapiere die Kursseiten, lädt CSV-Dateien herunter und führt sie zu einem einheitlichen Datensatz zusammen.
- Ablauf:
Optionaler Login (sofern Zugangsdaten vorhanden)
Aufruf aller in der Konfiguration definierten URLs
Auswahl von Währung, Zeitraum und Trenner
Start des CSV-Downloads
Zusammenführung und Bereinigung der Daten
- Voraussetzungen:
gültige Zugangsdaten und URL-Mappings in config.yaml
funktionierender Selenium-WebDriver (Edge, Chrome oder Firefox)
- CLI-Beispiel:
`bash readtx run ariva --start 01.01.2024 --end 31.03.2024 --log_level DEBUG `
Parameter¶
- logfilestr, optional
Pfad zu einer Logdatei. Wenn None, wird nur in die Konsole geloggt.
- output_pathstr, optional
Verzeichnis, in dem die verarbeiteten Daten gespeichert werden. Standard:
out.- start_datestr | pandas.Timestamp | datetime.date, optional
Startdatum für den Download (Format:
dd.mm.yyyy). Standard: heutiges Datum.- end_datestr | pandas.Timestamp | datetime.date, optional
Enddatum für den Download (Format:
dd.mm.yyyy). Standard: sechs Monate vor start_date.- logging_levelstr, optional
Log-Level der Crawler-Instanz (z. B. „DEBUG“, „INFO“, „WARNING“). Standard:
INFO.- global_log_levelstr, optional
Globales Log-Level für das gesamte Paket (Standard:
INFO).- browserstr, optional
Zu verwendender Browser-Treiber (
edge,chromeoderfirefox). Standard:edge.- headlessbool, optional
Falls True, wird der Browser im Hintergrundmodus gestartet. Standard:
False.- user_agentstr, optional
Optionaler User-Agent-String für den Browser.
Attribute¶
- datapandas.DataFrame
Zusammengeführte Kursdaten aller Wertpapiere.
- _urlsdict
Enthält alle Kurs-URLs aus der Konfiguration.
- _loggerlogging.Logger
Instanzspezifischer Logger.
- login() None¶
Meldet sich auf ariva.de an, falls Zugangsdaten vorhanden sind.
Öffnet die Login-Seite, füllt Benutzername und Passwort aus, sendet das Formular ab und schließt anschließend eventuelle Werbe-Overlays (über handle_ad_banner).
- download_data() None¶
Lädt Kursdaten (CSV) von allen in der Konfiguration definierten URLs.
- Für jede URL:
öffnet die Seite,
setzt optional die Währung auf EUR,
trägt Start- und Enddatum ein,
wählt Trenner ‚;‘,
startet den Download und wartet auf Abschluss.
- process_data(*args, **kwargs) None¶
Verarbeitet und bereinigt die heruntergeladenen Kursdaten.
- preprocess_data(key: str, df: pandas.DataFrame) pandas.DataFrame¶
Überschreibt die Basismethode, um benutzerdefinierte Vorverarbeitung zu ermöglichen.
- Parameter:
key (str) – Schlüssel der Datenquelle (Dateiname).
df (pandas.DataFrame) – Eingabedaten.
- Rückgabe:
Vorverarbeitete Daten.
- Rückgabetyp:
pandas.DataFrame
- _handle_ad_banner() bool¶
Schließt das Werbe-iFrame auf ariva.de, falls es sichtbar ist.
Durchsucht alle iFrames nach dem ‚Akzeptieren und weiter‘-Button und klickt ihn. Schaltet dabei automatisch den Frame-Kontext um.
- Rückgabe:
True, wenn ein Banner gefunden und geschlossen wurde, sonst False.
- Rückgabetyp:
bool
- read_transactions.webcrawler.ariva.output_path = '../../../out'¶