pythonScrapy est un projet de web scraping développé en Python utilisant le framework Scrapy.
L’objectif du projet est de collecter automatiquement des données de livres à partir du site d’entraînement :
👉 Books to Scrape : http://books.toscrape.com/
Ce site est spécialement conçu pour l’apprentissage du web scraping et permet de pratiquer le crawling, l’extraction et le nettoyage des données de manière éthique.
- Explorer un site web à l’aide de crawlers (spiders)
- Extraire des informations structurées sur les livres
- Nettoyer et transformer les données collectées
- Stocker les données dans des fichiers JSON
- Appliquer les bonnes pratiques du web scraping avec Scrapy
- Python 3
- Scrapy
- JSON (stockage des données)
- Crawlers / Spiders
pythonScrapy/
│
├── bookscrapper/
│ ├── __init__.py
│ ├── items.py
│ ├── pipelines.py
│ ├── settings.py
│ ├── middlewares.py
│ ├── bookdata.json
│ ├── livredata.json
│ ├── cleandata.json
│ │
│ ├── spiders/
│ │ ├── __init__.py
│ │ └── bookspider.py
│
├── scrapy.cfg
└── README.md
-
bookspider.py :
Contient le spider principal responsable du crawling et de l’extraction des données depuis le site. -
items.py :
Définit la structure des données extraites (champs des livres). -
pipelines.py :
Gère le traitement et le nettoyage des données avant leur stockage. -
middlewares.py :
Intercepte et traite les requêtes/réponses pendant le crawling. -
settings.py :
Configuration globale du projet Scrapy (user-agent, pipelines, etc.). -
bookdata.json / livredata.json :
Données brutes extraites depuis le site. -
cleandata.json :
Données nettoyées et prêtes à être utilisées pour l’analyse.
Pour chaque livre, le spider peut extraire :
- Titre du livre
- Prix
- Disponibilité
- Catégorie
- Note (rating)
- Lien vers le livre