#!/usr/bin/env python3 """ Scraper FFA - Version avec arguments en ligne de commande Ce script scrape les données de la FFA jour par jour. Les dates peuvent être spécifiées en ligne de commande. """ import sys import os sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) import argparse from datetime import datetime from scripts.scraper_jour_par_jour import FFAScraperDaily def main(): """Point d'entrée principal avec arguments""" parser = argparse.ArgumentParser(description='Scraper FFA - Approche jour par jour') parser.add_argument('--start-date', type=str, default='2024-01-01', help='Date de début (format YYYY-MM-DD). Défaut: 2024-01-01') parser.add_argument('--end-date', type=str, default='2026-08-01', help='Date de fin (format YYYY-MM-DD). Défaut: 2026-08-01') parser.add_argument('--output-dir', type=str, default='data', help='Répertoire de sortie. Défaut: data') parser.add_argument('--no-results', action='store_true', help='Ne pas récupérer les résultats (uniquement les courses)') args = parser.parse_args() # Valider les dates try: datetime.strptime(args.start_date, '%Y-%m-%d') datetime.strptime(args.end_date, '%Y-%m-%d') except ValueError: print("❌ Erreur: Les dates doivent être au format YYYY-MM-DD") sys.exit(1) print("=" * 60) print("🔄 Scraper FFA - Approche jour par jour") print("=" * 60) print(f"Période: {args.start_date} au {args.end_date}") print(f"Récupération des résultats: {'Non' if args.no_results else 'Oui'}") print(f"Répertoire de sortie: {args.output_dir}") print(f"Fichiers de sortie:") print(f" - {args.output_dir}/courses_daily.csv") print(f" - {args.output_dir}/results_daily.csv") print("=" * 60) scraper = FFAScraperDaily(output_dir=args.output_dir) stats = scraper.run(args.start_date, args.end_date, fetch_results=not args.no_results) print("\n" + "=" * 60) print("✅ Scraping terminé!") print("=" * 60) print(f"Jours traités: {stats['total_days']}") print(f"Courses récupérées: {stats['total_courses']}") print(f"Résultats récupérés: {stats['total_results']}") print("=" * 60) if __name__ == "__main__": main()