File size: 2,686 Bytes
dfdddb1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#!/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()