Si vous êtes un passionné de citations et que vous souhaitez créer votre propre base de données de citations à partir d’un site web, ce script Python est fait pour vous ! Avec quelques lignes de code, vous pourrez extraire les citations d’un site web, les mettre en forme et les enregistrer dans un fichier JSON. Dans cet article, nous allons explorer comment utiliser ce script pour récupérer les citations d’un site web et générer un fichier JSON contenant les données extraites.

J’utilise le plugin Quote collection :https://wordpress.org/plugins/quotes-collection/
La mise en forme du fichier json est donc compatible pour une importation.
C’est le script que j’ai créer pour importer l’ensemble des citations de kaamelott sur la page principal du blog.

Prérequis :

Avant de commencer, assurez-vous d’avoir Python installé sur votre machine. Vous aurez également besoin du BeautifulSoup pour effectuer les requêtes HTTP et analyser le contenu HTML du site web. Vous pouvez l’installer en utilisant la commande suivante :

pip install requests beautifulsoup4

 

Code du script :
Voici le code complet du script :

A vous d’adapter le script  pour correspondre à votre besoin  moi ici je récupère les citations du site https://fr.wikiquote.org/wiki/Wikiquote:Accueil

import requests
from bs4 import BeautifulSoup
import json

# Récupérer le contenu du site web
url = 'https://www.example.com'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')

# Trouver toutes les divs avec la classe "citation"
citations_divs = soup.find_all('div', class_='citation')

# Liste pour stocker les citations
citations = []

# Parcourir chaque div de citation
for div in citations_divs:
citation_text = div.text.strip() # Récupérer le texte de la citation et supprimer les espaces inutiles

# Recherche de la div avec la classe "ref" à l'intérieur de la div de citation
source_div = div.find('div', class_='ref')
source_text = source_div.text.strip() if source_div else ""

# Créer un dictionnaire représentant la citation
citation = {
"quote": citation_text,
"author": source_text,
"source": "",
"tags": "",
"public": "yes"
}

citations.append(citation)

# Enregistrer les citations dans un fichier JSON
with open('citations.json', 'w') as json_file:
json.dump(citations, json_file, indent=4)

print("Les citations ont été enregistrées dans le fichier 'citations.json'.")

Explication du script :

Le script commence par importer les modules nécessaires, à savoir requests pour effectuer les requêtes HTTP et BeautifulSoup pour analyser le contenu HTML. Assurez-vous d’installer ces modules en utilisant la commande pip si vous ne les avez pas déjà installés.

Ensuite, vous devez spécifier l’URL du site web à partir duquel vous souhaitez extraire les citations. Remplacez 'https://www.example.com' par l’URL réelle du site web.

Le script utilise ensuite la bibliothèque BeautifulSoup pour analyser le contenu HTML et trouver toutes les divs avec la classe « citation ».

Pour chaque div de qui porte comme class « citation », le script extrait le texte de la citation en utilisant div.text.strip(). Ensuite, il recherche la div avec la classe « ref » à l’intérieur de la div de citation en utilisant div.find('div', class_='ref'). Si la div « ref » est trouvée, le texte est extrait à l’aide de source_div.text.strip(). Sinon, une chaîne vide est attribuée à la variable source_text.

Le script crée ensuite un dictionnaire représentant la citation avec les valeurs extraites. Les citations sont stockées dans une liste citations.

Enfin, le script enregistre les citations dans un fichier JSON en utilisant json.dump(). Le fichier JSON est enregistré sous le nom « citations.json ».

Conclusion :

Grâce à ce script Python simple mais puissant, vous pouvez extraire les citations d’un site web et les enregistrer dans un fichier JSON en quelques lignes de code. Vous pouvez facilement personnaliser le script pour répondre à vos besoins spécifiques, comme l’ajout d’informations supplémentaires aux citations ou la manipulation des données extraites. N’hésitez pas à l’utiliser pour créer votre propre base de données de citations, pour un projet personnel ou même pour partager vos citations préférées sur votre blog !


Souscrire
Me notifier des
guest

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

0 Commentaires
Commentaires en ligne
Voir tous les commentaires