GitHub - Seka35/SCRAP-INSTA · GitHub
Skip to content

Repository files navigation

SCRAP-INSTA 📸

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).

Fonctionnalités

  • 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.

Installation

1. Prérequis

  • 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)

2. Cloner le projet

git clone https://github.com/Seka35/SCRAP-INSTA.git
cd SCRAP-INSTA

3. Installation des dépendances

Il 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.txt

4. Configuration

Copiez le fichier .env.example en .env et remplissez vos clés :

cp .env.example .env

Utilisation

Étape 1 : Scraping des données

Lancez le script principal pour récupérer les posts et télécharger les médias :

python app.py

Note : Assurez-vous d'avoir un fichier dataset_instagram-post-scraper_*.json à la racine ou modifiez la variable DATASET_FILE dans app.py.

Étape 2 : Indexation dans la base vectorielle

Pour que le bot puisse répondre à vos questions, vous devez d'abord vectoriser les légendes :

python index_captions.py

Étape 3 : Lancer le Bot Telegram

Une fois l'indexation terminée, lancez le bot :

python telegram_rag_bot.py

Structure du projet

  • app.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).

Sécurité

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.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages