# Script de Reprise du Scraper FFA ## 📋 Description Le script `resume_scraping.py` permet de reprendre le scraping Ă  partir d'une date spĂ©cifique aprĂšs un crash, une interruption, ou une erreur du scraper principal. ## 🚹 ProblĂšme RĂ©solu ### Crash du scraper principal Le scraper principal (`scraper_jour_par_jour.py`) peut rencontrer des erreurs critiques qui interrompent son fonctionnement: - **Erreur "invalid session id"**: La session Chrome devient invalide aprĂšs un crash - **Chrome crashes**: Le navigateur Chrome peut planter aprĂšs une longue pĂ©riode d'exĂ©cution - **Memory leaks**: ProblĂšmes de mĂ©moire aprĂšs plusieurs heures de scraping - **Timeouts**: DĂ©lais d'attente dĂ©passĂ©s ### Solution Au lieu de relancer le scraper depuis le dĂ©but (ce qui perdrait plusieurs heures de donnĂ©es), le script de reprise: 1. Repart de la date spĂ©cifiĂ©e (gĂ©nĂ©ralement lĂ  oĂč le crash s'est produit) 2. Continuera d'ajouter aux fichiers CSV existants 3. Conserve toutes les donnĂ©es dĂ©jĂ  rĂ©cupĂ©rĂ©es 4. Termine jusqu'Ă  la date de fin (2026-08-01) ## 📝 Utilisation ### Lancer le script de reprise ```bash python scripts/resume_scraping.py ``` ### Lancer en arriĂšre-plan ```bash nohup python scripts/resume_scraping.py > resume_scraping.log 2>&1 & ``` ### Surveiller la progression ```bash # Voir les logs en temps rĂ©el tail -f resume_scraping.log # Voir les statistiques actuelles tail -5 resume_scraping.log | grep "Jours traitĂ©s:" # VĂ©rifier la taille des fichiers ls -lh data/ ``` ## ⚙ Configuration ### Modifier la date de reprise Si vous devez reprendre Ă  une date diffĂ©rente, modifiez le script: ```python # Dans scripts/resume_scraping.py, ligne 27 resume_date = "2024-04-08" # Modifier cette date ``` ### Modifier la date de fin Si vous devez changer la date de fin: ```python # Dans scripts/resume_scraping.py, ligne 30 end_date = "2026-08-01" # Modifier cette date ``` ## 📊 Comportement ### Ajout aux fichiers existants Le script de reprise **ajoute** aux fichiers CSV existants: - `data/courses_daily.csv`: Ajoute les nouvelles courses - `data/results_daily.csv`: Ajoute les nouveaux rĂ©sultats Les donnĂ©es existantes ne sont pas modifiĂ©es ou perdues. ### VĂ©rification des dates Le script utilise la mĂȘme logique que le scraper principal: - Scraping jour par jour - RĂ©cupĂ©ration des courses et rĂ©sultats - Sauvegarde progressive ### Logs Les logs sont sauvegardĂ©s dans `resume_scraping.log` avec: - Date et heure de chaque action - Nombre de courses rĂ©cupĂ©rĂ©es par jour - Nombre de rĂ©sultats rĂ©cupĂ©rĂ©s par course - Erreurs et avertissements ## 🔍 Exemple de sortie ``` ============================================================ 🔄 Scraper FFA - Reprise ============================================================ Reprise Ă  partir du: 2024-04-08 Fin: 2026-08-01 Fichiers de sortie: data/courses_daily.csv, data/results_daily.csv ============================================================ ⚠ Ce script va continuer d'ajouter aux fichiers existants ============================================================ 2026-01-02 15:47:23,670 - INFO - Aucune course trouvĂ©e pour 2024-04-08 2026-01-02 15:47:27,051 - INFO - 1 courses trouvĂ©es pour 2024-04-09 2026-01-02 15:47:31,413 - INFO - 18 courses trouvĂ©es pour 2024-04-10 ... Jours traitĂ©s: 1%| | 10/846 [01:00<13:00, 65s/jour] ... ``` ## 🐛 DĂ©pannage ### Le script ne dĂ©marre pas VĂ©rifiez que: 1. Les dĂ©pendances sont installĂ©es: `pip install -r requirements.txt` 2. ChromeDriver est disponible et compatible 3. Les fichiers de logs ne sont pas en lecture seule ### Erreur "invalid session id" Si cette erreur se produit de nouveau: 1. Tuez le processus: `kill ` 2. Modifiez la date de reprise dans `resume_scraping.py` 3. Relancez le script ### Fichiers CSV vides Les fichiers CSV ne seront pas Ă©crasĂ©s. Les nouvelles donnĂ©es seront ajoutĂ©es aux fichiers existants. ## 📈 Performance ### Temps estimĂ© Le script de reprise a les mĂȘmes performances que le scraper principal: - **Jours sans courses**: 3-4 secondes/jour - **Jours avec peu de courses**: 40-50 secondes/jour - **Jours avec beaucoup de courses**: 100-150 secondes/jour ### Exemple Pour 846 jours restants (de 2024-04-08 Ă  2026-08-01): - Temps estimĂ©: 14-21 heures - Estimation: Entre 06:00 et 13:00 le 3 janvier ## 🔐 SĂ©curitĂ© ### Aucune perte de donnĂ©es Le script de reprise est conçu pour **ne jamais perdre de donnĂ©es**: - Ajoute aux fichiers existants - Ne supprime rien - Ne modifie pas les lignes existantes ### Sauvegarde avant reprise Avant de lancer le script de reprise, vous pouvez faire une sauvegarde: ```bash cp data/courses_daily.csv data/courses_daily_backup.csv cp data/results_daily.csv data/results_daily_backup.csv ``` ## 📚 Documentation Connexe - [Nouveau Scraper](NOUVEAU_SCRAPER.md) - Documentation du scraper principal - [README](../README.md) - Documentation gĂ©nĂ©rale du projet ## đŸ€ Support En cas de problĂšme: 1. VĂ©rifiez les logs dans `resume_scraping.log` 2. VĂ©rifiez que le processus est en cours: `ps aux | grep resume_scraping.py` 3. Consultez la section DĂ©pannage de ce document