Scrap-Dji / run_scraper.py
joel
Initial deployment: Scrap-Dji with API
dfdddb1
#!/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()