1

Rend le téléchargement des ressources plus patient et cache

This commit is contained in:
2025-12-02 21:19:30 +01:00
parent 41798ea3df
commit fd5db10693
4 changed files with 395 additions and 0 deletions

View File

@@ -327,3 +327,17 @@ Le calcul lit `data/intermediate/minifigs_by_set.csv`, `data/raw/parts.csv` et `
- `data/intermediate/minifig_head_faces_by_character.csv` : volume et part par personnage.
Les visuels `figures/step30/minifig_head_faces_timeline.png`, `figures/step30/minifig_head_faces_top_sets.png` et `figures/step30/minifig_head_faces_characters.png` montrent respectivement la trajectoire annuelle, le top des sets concernés et les personnages dotés de têtes dual-face.
### Étape 31 : téléchargement des ressources visuelles (sets, minifigs, têtes)
1. Renseigner `REBRICKABLE_TOKEN` dans `.env` (clé API Rebrickable).
2. `source .venv/bin/activate`
3. `python -m scripts.download_resources`
Le script lit `data/intermediate/sets_enriched.csv`, `data/intermediate/minifigs_by_set.csv` et `data/raw/minifigs.csv`. Il récupère les URLs d'images de têtes via lAPI Rebrickable `/api/v3/lego/parts/{part_num}/`, ajoute la colonne `part_img_url` à `data/intermediate/minifigs_by_set.csv`, puis télécharge :
- `resources/{set_id}/set.jpg` : visuel du set (img_url).
- `resources/{set_id}/{known_character}/minifig.jpg` : visuel de la minifig complète.
- `resources/{set_id}/{known_character}/head.jpg` : visuel de la tête correspondante.
Les requêtes API sont dédoublonnées, espacées (fair-use) et mises en cache dans `data/intermediate/part_img_cache.csv` pour reprise en cas dinterruption. Les images déjà téléchargées sont réutilisées localement pour éviter les requêtes répétées.