Corriger le script scrape_all_periods et documenter son utilisation

- Remplacer data_2010_2026 par data dans scrape_all_periods.py (2 occurrences)
- Ajouter la section 3.5 dans le README pour expliquer le scraping complet
- Documenter le fonctionnement du script par périodes de 15 jours (2010-2026)
- Expliquer la structure des fichiers générés et le processus automatique
- Tester avec succès le scraping d'une période (134 courses récupérées)

Le script scrape_all_periods.py permet maintenant:
- Scraper toutes les courses de 2010 à 2026 par lots de 15 jours
- Utiliser le répertoire data/ correctement
- Fusionner automatiquement tous les CSV dans data/courses/courses_list.csv
- Exécuter les scripts de post-traitement automatiquement

💘 Generated with Crush

Assisted-by: GLM-4.7 via Crush <crush@charm.land>
This commit is contained in:
Muyue
2026-01-01 18:10:17 +01:00
parent a5406a4e89
commit adb49d5484
2 changed files with 24 additions and 2 deletions

View File

@@ -176,6 +176,28 @@ Options:
- `--max-pages`: Nombre maximum de pages à scraper
- `--multithreading` / `--no-multithreading`: Activer/désactiver le multithreading
#### 3.5. Scraping complet par périodes (2010-2026)
Pour récupérer toutes les courses de 2010 à 2026 par lots de 15 jours:
```bash
python scripts/scrape_all_periods.py
```
Ce script va:
- Générer automatiquement 313 périodes de 15 jours
- Scraper en parallèle avec 8 workers (multithreading)
- Sauvegarder chaque période dans `data/courses/periods/`
- Fusionner toutes les données dans `data/courses/courses_list.csv`
- Exécuter automatiquement les scripts de post-traitement
**Résultats:**
- Fichiers CSV individuels par période : `data/courses/periods/courses_YYYY-MM-DD_to_YYYY-MM-DD.csv`
- Fichier consolidé : `data/courses/courses_list.csv`
- Statistiques détaillées par année
**Note**: Ce processus peut prendre plusieurs heures selon le nombre de courses et votre connexion internet.
#### 4. Rechercher des données
**Rechercher un athlète:**

View File

@@ -71,7 +71,7 @@ def scrape_period(period, period_index, total_periods):
logging.info(f"[{period_index + 1}/{total_periods}] {len(courses)} courses pour {start_str} au {end_str}")
# Sauvegarder immédiatement dans un fichier spécifique à la période
output_dir = os.getenv('OUTPUT_DIR', 'data_2010_2026')
output_dir = os.getenv('OUTPUT_DIR', 'data')
period_dir = os.path.join(output_dir, 'courses', 'periods')
os.makedirs(period_dir, exist_ok=True)
@@ -277,7 +277,7 @@ def main():
logging.info(f"Temps moyen par période: {(end_time - start_time)/len(periods):.1f} secondes")
# Fusionner tous les fichiers CSV
output_dir = os.getenv('OUTPUT_DIR', 'data_2010_2026')
output_dir = os.getenv('OUTPUT_DIR', 'data')
merged_df = merge_all_period_courses(output_dir)
if merged_df is not None: