No description
https://wordcloud.terabyte.gg
| genius_parser | ||
| tests | ||
| webapp | ||
| .gitignore | ||
| .python-version | ||
| artists.txt | ||
| pyproject.toml | ||
| README.md | ||
| redownload.py | ||
| uv.lock | ||
Rappers WordCloud :D
Praticamente crea delle wordcloud come quelle dei vecchi blog per i vari rapper italiani, utilizzando i loro testi.
Note
Il progetto è composto da due parti: un package Python per il download e un'app SvelteKit per la visualizzazione.
Installazione
# Python (richiede uv)
uv sync
# Webapp (richiede bun)
cd webapp && bun install
Utilizzo
Download testi
# Singolo artista
uv run genius-parser download https://genius.com/artists/Ensi -o lyrics/ensi
# Batch da file
uv run genius-parser batch artisti.txt -o lyrics -j 8
Tip
Usa
-j 8per aumentare il parallelismo (default: 4 download simultanei).
Webapp
cd webapp
bun run dev # sviluppo
bun run build # produzione
Struttura output
lyrics/<artista>/<album>/
├── canzone.txt # testo
└── canzone.json # metadati (titolo, album, url, data)
Configurazione
| Variabile | Default | Descrizione |
|---|---|---|
GENIUS_MIN_DELAY |
1.0 |
Delay minimo tra richieste (sec) |
GENIUS_MAX_DELAY |
3.0 |
Delay massimo tra richieste (sec) |
GENIUS_MAX_CONCURRENT |
4 |
Download paralleli |
Warning
Valori troppo bassi di delay possono causare rate limiting da parte di Genius.
Dev
Comandi sviluppo
# Test
uv run pytest
# Type check
uv run mypy genius_parser
# Lint
uv run ruff check genius_parser
uv run ruff format genius_parser