diff --git a/README.md b/README.md index d74a983..134c03b 100644 --- a/README.md +++ b/README.md @@ -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:** diff --git a/scripts/scrape_all_periods.py b/scripts/scrape_all_periods.py index 9ac840a..ba26422 100755 --- a/scripts/scrape_all_periods.py +++ b/scripts/scrape_all_periods.py @@ -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: