Formation OpenClassRooms - Developpeur d'application python - Projet 2
initiation à Python et au webscrapping, en utilisant comme ressources le site dédié : http://books.toscrape.com/
Python >=3.12.1 et une connexion internet
Cloner le repository
git clone https://github.com/Mothraa/OCR_projet2.git
Créer l'environnement avec venv
python -m venv env
Activer l'environnement
- sous linux ou mac
source env/bin/activate
- sous windows
env/scripts/activate
Utiliser le gestionnaire de package pip pour installer les librairies python
pip install -r requirements.txt
Executer le script main.py dans le terminal :
python main.py
Développé sous python 3.12.1 avec l'aide des librairies :
- BeautifulSoup4 https://pypi.org/project/beautifulsoup4/
- requests https://pypi.org/project/requests/
A partir de la page d'accueil du site http://books.toscrape.com/ l'ensemble de chaque page de livre est parcouru (scrapping) pour y récupérer les informations ci-dessous :
- product_page_url : lien url vers le livre
- universal_product_code (upc) : code universel et unique du livre
- title : titre de l'ouvrage
- price_including_tax : prix avec taxes, en livres sterling
- price_excluding_tax : prix sans taxes, en livres sterling
- number_available : quantités disponibles
- product_description : description du produit (résumé,...)
- category : catégorie de l'ouvrage (suivant l'arborescence du site books.toscrape.com)
- review_rating : notation du livre de 1 à 5 étoiles
- image_url : lien url vers l'image de couverture
4 attributs sont modifiés :
- price_including_tax : suppression du symbole £ (livres sterling)
- price_excluding_tax : suppression du symbole £ (livres sterling)
- number_available : extraction du nombre (entier) de la chaine de caractère
- review_rating : conversion du nombre d'étoiles en nombre (entier)
Pour chaque livre, ses informations sont sauvegardées au format tabulaire (csv) ainsi que leurs couvertures au format .jpg (jpeg)
Les exports CSV sont générés dans le répertoire \output du script avec un sous répertoire par catégorie.
Les fichiers CSV sont au format UTF-8 avec séparateur ";" (semicolon) et comme nommage : [export_date]-[category_name]-list.csv
Les colonnes ci-dessous sont créées dans l'ordre : product_page_url upc title price_including_tax price_excluding_tax number_available product_description category review_rating image_url
Une ligne du CSV représente un livre de la catégorie.
Les images (couvertures des livres) sont stockées dans le sous répertoire \images de chaque catégorie. Chaque image est nommée suivant son identifiant UPC (universal product code) unique, indiqué dans le fichier CSV.
On obtient l'arborescence ci-dessous :
\output\[category_name]\[export_date]-[category_name]-list.csv
\images\[id_upc].jpg
...
Exemple :
\output\mystery_3\20240125-mystery_3-list.csv
\images\0c7b9cf2b7662b65.jpg
La dénomination des versions suit la spécification décrite par la Gestion sémantique de version
Les versions disponibles ainsi que les journaux décrivant les changements apportés sont disponibles depuis la section releases
Voir le fichier LICENSE du dépôt.