2.6 KiB
radioeins Top-100-Auswertung
Dieses kleine Python-Skript liest die Top-10-Listen einer radioeins-Top-100-Jury ein und erstellt daraus eine Gesamtwertung. Titel werden unabhängig vom Künstler anhand einer normalisierten Schreibweise zusammengefasst.
Installation unter macOS
- Das Repository herunterladen oder klonen.
- Im Finder
install.commanddoppelt anklicken.
Falls macOS das Öffnen verhindert: Rechtsklick auf die Datei, Öffnen wählen
und bestätigen. Der Installer legt .venv an und installiert die benötigten
Python-Pakete. Er kann jederzeit erneut ausgeführt werden.
Alternativ im Terminal:
./install.command
Voraussetzung ist python3 (Python 3.10 oder neuer).
Verwendung unter macOS
radioeins-top100.command im Finder doppelt anklicken und die URL einer
radioeins-Top-100-Übersichtsseite eingeben, zum Beispiel:
https://www.radioeins.de/musik/top_100/2026/deutscher-hip-hop/
Die URL muss auf die Übersichtsseite zeigen, unterhalb derer die einzelnen
Juryseiten als .html-Seiten verlinkt sind. Der Ausgabeordner wird aus dem
letzten Teil des URL-Pfads gebildet. Beispielsweise schreibt eine URL mit
/2026/deutscher-hip-hop/ ihre Ergebnisse nach output_deutscher-hip-hop.
Verwendung im Terminal
./.venv/bin/python radioeins_top100.py "URL_DER_ÜBERSICHTSSEITE"
Optionen:
--limit ANZAHL nur die ersten ANZAHL Juryseiten verarbeiten
--delay SEKUNDEN Pause zwischen Abrufen (Standard: 0.2)
--output ORDNER abweichenden Ausgabeordner verwenden
--accept-incomplete unvollständige historische Listen automatisch akzeptieren
Beispiel für einen kurzen Testlauf:
./.venv/bin/python radioeins_top100.py \
"https://www.radioeins.de/musik/top_100/2026/deutscher-hip-hop/" \
--limit 3
Ergebnisdateien
radioeins_top100.xlsxtop100.csvgesamtwertung.csveinzelwertungen.csvfehler.csvincomplete_jury_lists.csv
Der Ausgabeordner wird bei Bedarf automatisch erstellt. Bereits vorhandene
Dateien gleichen Namens werden bei einem neuen Lauf ersetzt. Mit --output
kann jederzeit ausdrücklich ein anderer Ordner gewählt werden; diese Angabe
hat Vorrang vor dem aus der URL abgeleiteten Namen.
Unvollständige, aber strukturell gültige historische Jurylisten werden im
Terminal zur Bestätigung angeboten. Ohne interaktives Terminal werden sie
standardmäßig abgelehnt. --accept-incomplete akzeptiert sie automatisch;
fehlende Ränge werden dabei nicht ergänzt oder verschoben. Alle entsprechenden
Entscheidungen stehen in incomplete_jury_lists.csv.
Tests
./.venv/bin/python -m unittest discover -s tests