Skip to content

Latest commit

 

History

History
93 lines (67 loc) · 2.28 KB

File metadata and controls

93 lines (67 loc) · 2.28 KB

📚 pythonScrapy – Web Scraping avec Scrapy

📌 Description du projet

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.


🎯 Objectifs du projet

  • 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

🛠️ Technologies utilisées

  • Python 3
  • Scrapy
  • JSON (stockage des données)
  • Crawlers / Spiders

📂 Structure du projet

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

📄 Description des principaux fichiers

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


📊 Données collectées

Pour chaque livre, le spider peut extraire :

  • Titre du livre
  • Prix
  • Disponibilité
  • Catégorie
  • Note (rating)
  • Lien vers le livre