#!/usr/bin/env python3 """ Script de lancement pour le scraping Scrap-Dji """ import os import sys import argparse from pathlib import Path # Ajout du répertoire racine au path sys.path.append(str(Path(__file__).parent)) def check_environment(): """Vérifie l'environnement avant lancement""" print("🔍 Vérification de l'environnement...") # Vérification du fichier .env if not os.path.exists(".env"): print("❌ Fichier .env manquant") print(" Copiez config.env.example vers .env et configurez-le") return False # Vérification des sources if not os.path.exists("sources.json"): print("❌ Fichier sources.json manquant") print(" Copiez sources.json.example vers sources.json et configurez vos sources") return False # Vérification des répertoires directories = ["storage_data", "logs"] for directory in directories: Path(directory).mkdir(exist_ok=True) print("✅ Environnement OK") return True def run_scraping(sources_file: str = "sources.json", dry_run: bool = False): """Lance le scraping""" try: from scraper.main import ScrapDjiScraper if dry_run: print("🧪 Mode test - aucun document ne sera sauvegardé") # TODO: Implémenter le mode dry_run return scraper = ScrapDjiScraper(sources_file) total_docs = scraper.run_scraping() print(f"\n🎉 Scraping terminé avec succès!") print(f"📊 {total_docs} documents traités") except ImportError as e: print(f"❌ Erreur d'import: {e}") print(" Vérifiez que toutes les dépendances sont installées") except Exception as e: print(f"❌ Erreur lors du scraping: {e}") def main(): parser = argparse.ArgumentParser(description="Scrap-Dji - Lancement du scraping") parser.add_argument("--sources", "-s", default="sources.json", help="Fichier de configuration des sources") parser.add_argument("--dry-run", "-d", action="store_true", help="Mode test sans sauvegarde") parser.add_argument("--setup", action="store_true", help="Lance la configuration initiale") args = parser.parse_args() if args.setup: print("🔧 Lancement de la configuration...") os.system("python setup.py") return print("🚀 Scrap-Dji - Lancement du scraping") print("=" * 50) if not check_environment(): sys.exit(1) run_scraping(args.sources, args.dry_run) if __name__ == "__main__": main()