Ce projet est une application Ruby permettant de scraper les adresses e-mail des mairies du département du Val-d'Oise à partir du site Annuaire des mairies. Les données collectées peuvent être sauvegardées dans différents formats : JSON, CSV ou Excel.
- Scraping des données : Extraction des noms des communes et des adresses e-mail associées.
- Sauvegarde des données :
- Format JSON
- Format CSV
- Format Excel (via Google Drive)
- Interface utilisateur : Menu interactif pour guider l'utilisateur dans le processus de scraping et de sauvegarde.
Avant de commencer, assurez-vous d'avoir les éléments suivants installés sur votre machine :
- Ruby (version >= 2.5.0)
- Bundler (
gem install bundler)
-
Clonez ce dépôt sur votre machine locale :
git clone <URL_DU_DEPOT> cd file_poo
-
Installez les dépendances du projet:
bundle install
-
Configurer vos identifiants Google Drive:
- Placez le fichier xxxxxxxx.json dans le répertoire racine du projet.
- Ce fichier contient les informations nécessaires pour l'authentification avec l'API Google Drive.
- Lancez l'application avec la commande suivante :
ruby app.rb-
Suivez les instructions affichées dans le terminal :
- Choisissez si vous souhaitez scraper les données des mairies.
- Sélectionnez le format de sauvegarde des données (JSON, CSV ou Excel).
Voici un aperçu de la structure du projet :
.
├── [app.rb] # Point d'entrée principal de l'application
├── lib/
│ └── app/
│ └── [scrapper.rb] # Classe Scrapper pour le scraping des données
├── views/
│ └── [menu.rb] # Classe Menu pour l'interface utilisateur
├── db/
│ ├── [mail.json] # Fichier JSON contenant les données scrapées
│ ├── [mail.csv] # Fichier CSV contenant les données scrapées
├── spec/
│ └── [spec_helper.rb] # Fichier de configuration pour les tests RSpec
├── Gemfile # Liste des dépendances du projet
├── [.rubocop.yml] # Configuration pour RuboCop
├── .rspec # Configuration pour RSpec
├── .gitignore # Fichiers à ignorer par Git
└── [README.md] # Documentation du projet
Le projet utilise les gems suivantes :
dotenv: Gestion des variables d'environnement.rpsec: Framework de tests.pry: Débogueur interactif.json: Manipulation des fichiers JSON.google_drive: Interaction avec Google Drive.csv: Manipulation des fichiers CSV.rubocop: Analyse statique du code Ruby.nokogiri: Parsing HTML pour le scraping.open-uri: Ouverture d'URL.
Pour exécuter les tests, utilisez la commande suivante :
rspecLes contributions sont les bienvenues ! Veuillez soumettre une pull request ou ouvrir une issue pour toute suggestion ou amélioration.
Ce projet est sous licence MIT. Consultez le fichier LICENSE pour plus de détails.