#!/usr/bin/env python3 """ Script de surveillance du scraping FFA """ import time import pandas as pd from pathlib import Path def monitor_scraping(data_dir="data_2024_2025"): """Surveiller le scraping et afficher les statistiques""" results_file = Path(data_dir) / "resultats" / "results.csv" courses_file = Path(data_dir) / "courses" / "courses_list.csv" while True: print("\n" + "="*60) print(f"📊 Surveillance du scraping - {time.strftime('%H:%M:%S')}") print("="*60) # Statistiques des courses if courses_file.exists(): courses_df = pd.read_csv(courses_file) print(f"📅 Courses disponibles: {len(courses_df)}") # Statistiques des résultats if results_file.exists(): results_df = pd.read_csv(results_file) print(f"🏃 Résultats récupérés: {len(results_df)}") print(f"💾 Taille fichier: {results_file.stat().st_size / (1024*1024):.2f} Mo") # Recherche Augustin ROUX augustin_mask = ( results_df['nom'].str.contains('ROUX', case=False, na=False) & results_df['prenom'].str.contains('Augustin', case=False, na=False) ) augustin_results = results_df[augustin_mask] print(f"\n🎯 Recherche: Augustin ROUX") print(f" Résultats trouvés: {len(augustin_results)}") if len(augustin_results) > 0: print(f"\n Détails des résultats:") for idx, row in augustin_results.iterrows(): print(f" - Place {row['place']}: {row['resultat']} ({row['date'] if 'date' in row else 'N/A'})") if 'club' in row and pd.notna(row['club']): print(f" Club: {row['club']}") # Top 5 clubs par nombre de résultats print(f"\n🏟️ Top 5 clubs par nombre de résultats:") top_clubs = results_df['club'].value_counts().head(5) for club, count in top_clubs.items(): print(f" - {club}: {count} résultats") # Recherche clubs Charente-Maritime (17) print(f"\n📍 Clubs Charente-Maritime (17):") dept17_mask = results_df['club'].str.contains(r'[\( ]17[\) ]', na=False) dept17_results = results_df[dept17_mask] dept17_clubs = dept17_results['club'].unique() if len(dept17_results) > 0 else [] if len(dept17_clubs) > 0: for club in dept17_clubs[:10]: count = len(results_df[results_df['club'] == club]) print(f" - {club}: {count} résultats") else: print(f" Aucun résultat trouvé pour le département 17") print("\n⏳ Prochaine vérification dans 60 secondes...") time.sleep(60) if __name__ == "__main__": monitor_scraping()