86 lines
2.6 KiB
Markdown
86 lines
2.6 KiB
Markdown
# 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
|
|
|
|
1. Das Repository herunterladen oder klonen.
|
|
2. Im Finder `install.command` doppelt 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:
|
|
|
|
```sh
|
|
./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:
|
|
|
|
```text
|
|
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
|
|
|
|
```sh
|
|
./.venv/bin/python radioeins_top100.py "URL_DER_ÜBERSICHTSSEITE"
|
|
```
|
|
|
|
Optionen:
|
|
|
|
```text
|
|
--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:
|
|
|
|
```sh
|
|
./.venv/bin/python radioeins_top100.py \
|
|
"https://www.radioeins.de/musik/top_100/2026/deutscher-hip-hop/" \
|
|
--limit 3
|
|
```
|
|
|
|
## Ergebnisdateien
|
|
|
|
- `radioeins_top100.xlsx`
|
|
- `top100.csv`
|
|
- `gesamtwertung.csv`
|
|
- `einzelwertungen.csv`
|
|
- `fehler.csv`
|
|
- `incomplete_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
|
|
|
|
```sh
|
|
./.venv/bin/python -m unittest discover -s tests
|
|
```
|