File size: 3,246 Bytes
297c470
dfdddb1
 
 
 
f1a7a03
297c470
 
dfdddb1
297c470
 
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
---
title: Scrap-Dji - Base de Connaissance Panafricaine
emoji: 🌍
colorFrom: green
colorTo: blue
sdk: docker
app_file: app.py
pinned: false
license: mit
---

# 🌍 Scrap-Dji - Base de Connaissance Panafricaine

Système de scraping et de recherche de contenus africains (Togo, Bénin, Afrique).

## 🚀 Fonctionnalités

### 🔍 Recherche Intelligente
- **Recherche permissive** avec tolérance aux fautes de frappe (fuzzy matching)
- **Filtres avancés** par pays, langue, date
- **Scoring de pertinence** pour des résultats optimaux
- **API REST complète** pour intégration frontend

### 📰 Scraping Multi-Sources
- Collecte automatique depuis sources togolaises et béninoises
- Extraction intelligente de contenu (titre, texte, métadonnées)
- Déduplication automatique
- Stockage persistant

### 📊 Statistiques
- Répartition par pays, langue, source
- Visualisation des données collectées
- Métriques en temps réel

## 🔌 API Endpoints

### Recherche
```bash
# POST avec JSON
curl -X POST "https://YOUR_SPACE.hf.space/api/search" \
  -H "Content-Type: application/json" \
  -d '{"query": "économie togo", "limit": 10, "fuzzy": true}'

# GET simple
curl "https://YOUR_SPACE.hf.space/api/search?q=politique&pays=Togo&limit=20"
```

### Statistiques
```bash
curl "https://YOUR_SPACE.hf.space/api/stats"
```

### Documents
```bash
# Liste paginée
curl "https://YOUR_SPACE.hf.space/api/documents?skip=0&limit=10"

# Document par ID
curl "https://YOUR_SPACE.hf.space/api/documents/{id}"
```

### Health Check
```bash
curl "https://YOUR_SPACE.hf.space/api/health"
```

## 📖 Documentation Interactive

Une fois déployé, accédez à la documentation Swagger interactive :
- **Swagger UI** : `https://YOUR_SPACE.hf.space/docs`
- **ReDoc** : `https://YOUR_SPACE.hf.space/redoc`

## 🛠️ Technologies

- **Backend** : FastAPI + Gradio
- **Scraping** : newspaper3k, BeautifulSoup, lxml
- **NLP** : NLTK, langdetect
- **Recherche** : Moteur local avec fuzzy matching

## 📝 Utilisation

### Interface Web
Accédez directement à l'interface Gradio pour :
1. Effectuer des recherches
2. Lancer le scraping
3. Consulter les statistiques

### Intégration Frontend

```javascript
// Exemple de recherche depuis votre frontend
const response = await fetch('https://YOUR_SPACE.hf.space/api/search', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    query: 'économie togo',
    pays: 'Togo',
    limit: 20,
    fuzzy: true
  })
});

const data = await response.json();
console.log(data.results);
```

## 🌍 Sources Couvertes

### Togo
- TogoFirst
- 27septembre
- IciLome
- TogoBreakingNews
- RepublicOfTogo
- TogoActualite
- LomeInfo
- TogoSite

### Bénin
- BeninWebTV
- La Nouvelle République
- (Plus de sources à venir)

## 📄 License

MIT License - Libre d'utilisation et de modification

## 👨‍💻 Développement

Pour contribuer ou déployer localement :

```bash
# Cloner le projet
git clone https://huggingface.co/spaces/YOUR_USERNAME/scrap-dji

# Installer les dépendances
pip install -r requirements.txt

# Lancer l'application
python app.py
```

L'application sera accessible sur `http://localhost:7860`

---

**Développé avec ❤️ pour l'Afrique**