Spaces:
Sleeping
Sleeping
File size: 6,700 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 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 | # FAQ - Scrap-Dji : Questions et Réponses
## 📊 Que puis-je faire avec les données scrapées ?
### Fonctionnalités principales :
1. **Recherche sémantique** : Trouver du contenu par similarité de sens
2. **Recherche par mots-clés** : Recherche classique par termes
3. **Filtrage géographique** : Contenus par pays/région africaine
4. **Analyse temporelle** : Évolution des sujets dans le temps
5. **Détection de langues** : Contenus en français, anglais, langues locales
6. **Analyse de sentiments** : Positif/négatif/neutre
7. **Extraction d'entités** : Personnes, organisations, lieux
8. **Génération de résumés** : Synthèse automatique des articles
9. **Détection de fake news** : Analyse de crédibilité
10. **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 :
```json
{
"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 :**
1. **Hash du contenu** : Chaque document a un hash unique
2. **URL de source** : Vérification par URL d'origine
3. **Timestamp** : Horodatage pour versioning
4. **Base de données** : Vérification en PostgreSQL/MongoDB
**Comportement :**
```python
# 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)
```bash
# 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)
```bash
# 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)
```bash
# 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)
```bash
# 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 :
```python
# 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
```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 :
```bash
# 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
```bash
# 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
1. **Installation** : PostgreSQL + MongoDB
2. **Configuration** : .env et sources.json
3. **Test** : Lancement avec --dry-run
4. **Déploiement** : Scraping en production
5. **Optimisation** : Ajustement des paramètres
6. **Monitoring** : Surveillance des performances
7. **API** : Déploiement de l'API FastAPI
8. **Frontend** : Interface utilisateur web |