Book Scraper with BeautifulSoup

Objectif
Extraire automatiquement des informations de livres depuis une page web HTML, puis stocker ces données dans un fichier JSON et une base de données SQLite.
Principe du projet
Le projet suit les étapes suivantes :
- Envoyer une requête HTTP vers une page web contenant des livres
- Analyser le code HTML avec BeautifulSoup
- Extraire les informations utiles (titre, prix, disponibilité, etc.)
- Sauvegarder les données dans un fichier JSON
- Insérer les données dans une base SQLite
Technologies utilisées
- Python 3
- Requests
- BeautifulSoup (bs4)
- JSON
- SQLite3
Structure du projet
beautiful_soup-main/ │ ├── app/ │ ├── book_scraper.py │ └── books_to_sqlite.py │ ├── bib.json └── README.txt
Exemple de scraping (BeautifulSoup)
Le script lit le HTML de la page puis extrait les informations des livres.
import requests
from bs4 import BeautifulSoup
url = "http://books.toscrape.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
books = soup.find_all("article", class_="product_pod")
for book in books:
title = book.h3.a["title"]
price = book.find("p", class_="price_color").text
print(title, price)
Sauvegarde en JSON
Les données extraites sont stockées dans un fichier JSON pour être réutilisées.
import json
with open("bib.json", "w", encoding="utf-8") as f:
json.dump(data, f, indent=4)
Insertion dans SQLite
Les données sont ensuite insérées dans une base relationnelle SQLite.
import sqlite3
conn = sqlite3.connect("books.db")
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS books (
id INTEGER PRIMARY KEY,
title TEXT,
price TEXT
)
""")
conn.commit()
conn.close()
Ce que j’ai appris
- Comprendre le fonctionnement du Web Scraping
- Parser du HTML avec BeautifulSoup
- Transformer des données en JSON
- Manipuler une base SQLite avec Python
- Automatiser un pipeline de données simple
Liens
-
Dépôt GitLab : https://gitlab.com/ahmad-training-2026/beautiful_soup
-
Portfolio :
https://ahmadaboalola.com/
Auteur
Ahmad Abo-Alola — Student Project (AI Developer Training)