Scrap-Dji / README.md
joel
Switch to Docker SDK: Force Python 3.10 environment
f1a7a03
metadata
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

# 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

curl "https://YOUR_SPACE.hf.space/api/stats"

Documents

# 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

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

// 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 :

# 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