- New SCRAPER_REPRISE.md: Complete documentation for resume script * Explains the problem: Chrome crashes and 'invalid session id' errors * Describes the solution: Resume scraping from specific date * Detailed usage instructions with examples * Configuration guide for custom dates * Performance estimates and troubleshooting * Security guarantees (no data loss) * Connection to other documentation files - Covers: * How to launch and monitor the resume script * How to modify resume and end dates * Behavior (appends to existing CSV files) * Performance estimates * Troubleshooting common issues * Backup recommendations
5.1 KiB
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:
- Repart de la date spécifiée (généralement là où le crash s'est produit)
- Continuera d'ajouter aux fichiers CSV existants
- Conserve toutes les données déjà récupérées
- Termine jusqu'à la date de fin (2026-08-01)
📝 Utilisation
Lancer le script de reprise
python scripts/resume_scraping.py
Lancer en arrière-plan
nohup python scripts/resume_scraping.py > resume_scraping.log 2>&1 &
Surveiller la progression
# 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:
# 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:
# 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 coursesdata/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:
- Les dépendances sont installées:
pip install -r requirements.txt - ChromeDriver est disponible et compatible
- Les fichiers de logs ne sont pas en lecture seule
Erreur "invalid session id"
Si cette erreur se produit de nouveau:
- Tuez le processus:
kill <PID> - Modifiez la date de reprise dans
resume_scraping.py - 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:
cp data/courses_daily.csv data/courses_daily_backup.csv
cp data/results_daily.csv data/results_daily_backup.csv
📚 Documentation Connexe
- Nouveau Scraper - Documentation du scraper principal
- README - Documentation générale du projet
🤝 Support
En cas de problème:
- Vérifiez les logs dans
resume_scraping.log - Vérifiez que le processus est en cours:
ps aux | grep resume_scraping.py - Consultez la section Dépannage de ce document