Spaces:
Sleeping
Sleeping
FAQ - Scrap-Dji : Questions et Réponses
📊 Que puis-je faire avec les données scrapées ?
Fonctionnalités principales :
- Recherche sémantique : Trouver du contenu par similarité de sens
- Recherche par mots-clés : Recherche classique par termes
- Filtrage géographique : Contenus par pays/région africaine
- Analyse temporelle : Évolution des sujets dans le temps
- Détection de langues : Contenus en français, anglais, langues locales
- Analyse de sentiments : Positif/négatif/neutre
- Extraction d'entités : Personnes, organisations, lieux
- Génération de résumés : Synthèse automatique des articles
- Détection de fake news : Analyse de crédibilité
- API REST : Interface pour applications tierces
Exemples d'utilisation :
- Journaliste : Recherche d'articles sur un sujet spécifique
- Chercheur : Analyse de tendances médiatiques africaines
- Développeur : API pour application mobile/web
- Analyste : Rapports sur l'actualité africaine
📋 Quelles données sont récupérées ?
Données extraites :
{
"titre": "Titre de l'article",
"texte": "Contenu complet nettoyé",
"source_url": "URL d'origine",
"pays": "Sénégal",
"langue": "fr",
"type_document": "article|social|pdf|video",
"auteur": "Nom de l'auteur",
"date_publication": "2024-01-15",
"tags": ["politique", "économie"],
"images": ["url1", "url2"],
"liens_externes": ["url1", "url2"],
"métadonnées": {
"longueur_texte": 1500,
"nombre_mots": 250,
"sentiment": "positif",
"crédibilité": 0.85
}
}
Types de sources supportées :
- Sites d'actualités : Articles, éditoriaux, interviews
- Réseaux sociaux : Twitter, Facebook (via API)
- Blogs : Contenus personnels et professionnels
- PDFs : Documents officiels, rapports
- Vidéos : YouTube, Vimeo (métadonnées)
- Podcasts : Transcriptions et descriptions
🔄 Reprise du scraping après interruption
✅ Oui, le système évite les doublons !
Mécanisme de détection :
- Hash du contenu : Chaque document a un hash unique
- URL de source : Vérification par URL d'origine
- Timestamp : Horodatage pour versioning
- Base de données : Vérification en PostgreSQL/MongoDB
Comportement :
# Si document existe déjà
if existing_document:
# Création d'une nouvelle version
new_version = DocumentVersion(
document_id=existing.id,
texte=new_content,
date=datetime.now()
)
# Pas de doublon, juste mise à jour
else:
# Nouveau document
create_new_document()
Avantages :
- ✅ Pas de répétition des données
- ✅ Mise à jour des contenus modifiés
- ✅ Historique des versions
- ✅ Reprise automatique où ça s'est arrêté
🗄️ Configuration des bases de données
PostgreSQL (Obligatoire)
# 1. Télécharger depuis https://www.postgresql.org/download/windows/
# 2. Installer avec les paramètres par défaut
# 3. Créer la base de données
createdb scrapdji
# 4. Configurer dans .env
POSTGRES_URI=postgresql://postgres:votre_mot_de_passe@localhost:5432/scrapdji
MongoDB (Obligatoire)
# 1. Télécharger depuis https://www.mongodb.com/try/download/community
# 2. Installer MongoDB Community Server
# 3. Démarrer le service
net start MongoDB
# 4. Configurer dans .env
MONGO_URI=mongodb://localhost:27017
MONGO_DB=scrapdji
Typesense (Optionnel - Recherche avancée)
# Installation via Docker (recommandé)
docker run -p 8108:8108 -v typesense-data:/data typesense/typesense:latest --data-dir /data --api-key=xyz
# Ou télécharger l'exécutable Windows
# https://github.com/typesense/typesense/releases
Qdrant (Optionnel - IA/ML)
# Installation via Docker
docker run -p 6333:6333 qdrant/qdrant
# Ou télécharger l'exécutable
# https://github.com/qdrant/qdrant/releases
💾 Consommation des ressources
Estimation des ressources :
Scraping léger (10 sources) :
- CPU : 5-10% (processeur moderne)
- RAM : 200-500 MB
- Disque : 1-5 GB/jour
- Réseau : 10-50 MB/source
Scraping intensif (100+ sources) :
- CPU : 20-40%
- RAM : 1-2 GB
- Disque : 10-50 GB/jour
- Réseau : 100-500 MB/source
Optimisations :
# Configuration optimisée dans .env
SCRAPER_DELAY=2 # Délai entre requêtes
SCRAPER_CONCURRENT_REQUESTS=8 # Requêtes simultanées
SCRAPER_TIMEOUT=30 # Timeout des requêtes
SCRAPER_RETRY_TIMES=3 # Nombre de tentatives
Recommandations :
- Débutant : 5-10 sources, scraping toutes les heures
- Intermédiaire : 20-50 sources, scraping toutes les 30 minutes
- Avancé : 100+ sources, scraping en continu avec queue
🔧 Configuration Git
Fichier .gitignore
# Environnement virtuel
venv/
env/
.venv/
# Variables d'environnement
.env
.env.local
.env.production
# Logs
logs/
*.log
# Données scrapées
storage_data/
data/
temp/
# Cache
__pycache__/
*.pyc
*.pyo
*.pyd
.Python
# IDE
.vscode/
.idea/
*.swp
*.swo
# OS
.DS_Store
Thumbs.db
# Base de données
*.db
*.sqlite
# Fichiers temporaires
*.tmp
*.temp
Commandes Git recommandées :
# Initialiser le repository
git init
# Ajouter les fichiers de configuration
git add .gitignore
git add config.env.example
git add sources.json.example
# Premier commit
git commit -m "Initial commit - Configuration Scrap-Dji"
# Ajouter le code source
git add .
git commit -m "Ajout du code source Scrap-Dji"
# Créer une branche pour le développement
git checkout -b develop
🚀 Script de configuration automatique
# Script pour configurer tout automatiquement
python setup.py --auto
# Ou configuration manuelle
python setup.py --interactive
📊 Monitoring et métriques
Métriques disponibles :
- Documents traités : Nombre total
- Nouvelles sources : Sources découvertes
- Taux de succès : Pourcentage de succès
- Temps de traitement : Durée par source
- Erreurs : Logs d'erreurs détaillés
Dashboard (futur) :
- Interface web pour visualiser les métriques
- Graphiques en temps réel
- Alertes automatiques
- Export des données
🎯 Prochaines étapes recommandées
- Installation : PostgreSQL + MongoDB
- Configuration : .env et sources.json
- Test : Lancement avec --dry-run
- Déploiement : Scraping en production
- Optimisation : Ajustement des paramètres
- Monitoring : Surveillance des performances
- API : Déploiement de l'API FastAPI
- Frontend : Interface utilisateur web