Application Django avec agent IA intelligent pour scraper automatiquement les données d'entreprises depuis des annuaires en ligne.
- Scraping intelligent : L'agent IA détecte automatiquement la structure des pages et extrait les données
- Navigation automatique : Gestion automatique de la pagination
- Extraction de données :
- Nom de l'entreprise
- Catégorie/Secteur
- Téléphone
- Site web (URL)
- Localisation
- Export Excel : Génération automatique de fichiers Excel téléchargeables
- Interface moderne : Interface web intuitive et responsive
- Python 3.8+
- pip
-
Cloner ou télécharger le projet
-
Créer un environnement virtuel (recommandé) :
python -m venv venv source venv/bin/activate # Sur Linux/Mac # ou venv\Scripts\activate # Sur Windows- Installer les dépendances :
pip install -r requirements.txt- Créer les migrations :
python manage.py makemigrations python manage.py migrate- Créer un superutilisateur (optionnel, pour l'admin Django) :
python manage.py createsuperuser- Lancer le serveur de développement :
python manage.py runserver- Accéder à l'application : Ouvrez votre navigateur à l'adresse :
http://127.0.0.1:8000/
-
Soumettre une URL :
- Entrez l'URL de l'annuaire d'entreprises dans le champ prévu
- Cliquez sur "🚀 Démarrer le Scraping"
-
Suivre le progrès :
- Le statut du scraping s'affiche en temps réel
- Vous pouvez voir le nombre d'entreprises trouvées au fur et à mesure
-
Télécharger les résultats :
- Une fois le scraping terminé, un bouton de téléchargement apparaît
- Cliquez pour télécharger le fichier Excel avec toutes les données
-
Consulter les sessions :
- Toutes les sessions de scraping sont enregistrées
- Vous pouvez consulter les détails de chaque session
- Les fichiers Excel peuvent être téléchargés à tout moment
scraping project/ ├── scraper/ # Application principale │ ├── models.py # Modèles de données (ScrapingSession, Company) │ ├── views.py # Vues Django │ ├── ai_agent.py # Agent IA de scraping │ ├── excel_generator.py # Générateur de fichiers Excel │ ├── urls.py # URLs de l'application │ └── admin.py # Configuration admin Django ├── scraping_project/ # Configuration Django │ ├── settings.py # Paramètres │ └── urls.py # URLs principales ├── templates/ # Templates HTML │ └── scraper/ │ ├── base.html │ ├── index.html │ └── session_detail.html ├── requirements.txt # Dépendances Python └── manage.py # Script de gestion Django Dans scraper/views.py, ligne 57, modifiez le paramètre max_pages :
companies_data = agent.scrape_paginated(session.url, max_pages=10)L'agent IA dans scraper/ai_agent.py peut être personnalisé pour :
- Améliorer la détection des conteneurs d'entreprises
- Ajouter de nouveaux patterns d'extraction
- Gérer des formats spécifiques d'annuaires
- Django : Framework web
- BeautifulSoup4 : Parsing HTML
- requests : Requêtes HTTP
- openpyxl : Génération de fichiers Excel
- lxml : Parser XML/HTML rapide
- Respect des robots.txt : Assurez-vous de respecter les conditions d'utilisation des sites web
- Rate limiting : L'application inclut des délais pour éviter de surcharger les serveurs
- Données personnelles : Respectez le RGPD et les lois sur la protection des données
- Vérifiez que l'URL est correcte et accessible
- Certains sites peuvent bloquer les requêtes automatisées
- L'agent IA peut avoir besoin d'ajustements pour certains formats spécifiques
Si vous rencontrez des erreurs CSRF, assurez-vous que :
- Les cookies sont activés dans votre navigateur
- Vous accédez à l'application via
http://127.0.0.1:8000/(paslocalhost)
Si les migrations échouent :
python manage.py makemigrations scraper python manage.py migrateCe projet est fourni à des fins éducatives et de démonstration.
Les contributions sont les bienvenues ! N'hésitez pas à :
- Signaler des bugs
- Proposer des améliorations
- Ajouter de nouvelles fonctionnalités