Ce projet est un outil complet de scraping Instagram, d'indexation de données et d'assistance via un bot Telegram intelligent (RAG - Retrieval-Augmented Generation).
- Scraping Instagram : Utilise l'API Apify pour récupérer les posts, les métadonnées et télécharger les médias (vidéos/images).
- Synchronisation Cloud : Sauvegarde automatique des médias sur Google Drive via
rclone. - Base de Connaissances Vectorielle : Indexation des légendes (captions) Instagram dans ChromaDB à l'aide des embeddings OpenAI.
- Bot Telegram RAG : Un bot Telegram qui répond aux questions en se basant exclusivement sur le contenu des posts scrappés.
- Python 3.8+
- Un compte Apify (pour le scraping)
- Une clé OpenAI (pour les embeddings et le RAG)
- Un compte OpenRouter (optionnel, pour Claude)
- Un bot Telegram (créé via @BotFather)
- rclone installé (si vous voulez la synchro Google Drive)
git clone https://github.com/Seka35/SCRAP-INSTA.git
cd SCRAP-INSTAIl est fortement recommandé d'utiliser un environnement virtuel (venv) pour isoler les bibliothèques du projet et éviter les conflits avec d'autres projets Python.
# Créer l'environnement virtuel
python -m venv venv
# Activer l'environnement virtuel
source venv/bin/activate # Sur Linux/Mac
# venv\Scripts\activate # Sur Windows
# Une fois activé, votre terminal devrait afficher (venv) au début de la ligne.
# Installer les dépendances dans l'environnement
pip install -r requirements.txtCopiez le fichier .env.example en .env et remplissez vos clés :
cp .env.example .envLancez le script principal pour récupérer les posts et télécharger les médias :
python app.pyNote : Assurez-vous d'avoir un fichier dataset_instagram-post-scraper_*.json à la racine ou modifiez la variable DATASET_FILE dans app.py.
Pour que le bot puisse répondre à vos questions, vous devez d'abord vectoriser les légendes :
python index_captions.pyUne fois l'indexation terminée, lancez le bot :
python telegram_rag_bot.pyapp.py: Script de scraping et téléchargement.index_captions.py: Script d'indexation vers ChromaDB.telegram_rag_bot.py: Code du bot Telegram.chromadb_data/: Dossier contenant la base de données vectorielle (ignoré par git).downloads/: Dossier contenant les médias téléchargés (ignoré par git)..env: Fichier de configuration des clés API (ignoré par git).
Les informations sensibles (clés API, tokens) sont gérées via le fichier .env qui est listé dans le .gitignore. Ne partagez jamais votre fichier .env.
