Supprimer les balises HTML d'une chaîne en Python
- Utiliser Regex pour supprimer les balises HTML d’une chaîne en Python
-
Utilisez
BeautifulSoup
pour supprimer les balises HTML d’une chaîne en Python -
Utilisez
xml.etree.ElementTree
pour supprimer les balises HTML d’une chaîne en Python
Dans ce guide, nous allons apprendre et appliquer quelques méthodes pour supprimer les balises HTML d’une chaîne. Nous utiliserons la regex, BeautifulSoup
, et l’arborescence des éléments XML.
Utiliser Regex pour supprimer les balises HTML d’une chaîne en Python
Comme les balises HTML contiennent toujours le symbole <>
. Nous allons importer le module intégré re
(expression régulière) et utiliser la méthode compile()
pour rechercher le modèle défini dans la chaîne d’entrée.
Ici, le modèle <.*?>
signifie zéro ou plusieurs caractères à l’intérieur de la balise <>
et en correspond le moins possible.
La méthode sub()
permet de remplacer les occurrences d’une chaîne par une autre chaîne. Ici, il remplacera les occurrences trouvées par une chaîne vide.
Exemple de code :
# Python 3.x
import re
string = "<h1>Delftstack</h1>"
print("String before cleaning:", string)
to_clean = re.compile("<.*?>")
cleantext = re.sub(to_clean, "", string)
print("String after cleaning:", cleantext)
Production:
#Python 3.x
String before cleaning: <h1>Delftstack</h1>
String after cleaning: Delftstack
Utilisez BeautifulSoup
pour supprimer les balises HTML d’une chaîne en Python
BeautifulSoup
est une bibliothèque Python pour obtenir les données de HTML et XML. Il utilise un analyseur pour analyser le HTML et le XML ; celui recommandé est lxml
.
Nous devons installer les deux avant de continuer, en utilisant les commandes suivantes :
#Python 3.x
pip install beautifulsoup4
#Python 3.x
pip install lxml
Nous avons importé le module BeautifulSoup
et analysé la chaîne HTML donnée dans le code suivant. Nous avons accédé au texte depuis le HTML en utilisant l’attribut text
.
Exemple de code :
# Python 3.x
from bs4 import BeautifulSoup
string = "<h1>Delftstack</h1>"
print("String after cleaning:", string)
cleantext = BeautifulSoup(string, "lxml").text
print("String after cleaning:", cleantext)
Production:
#Python 3.x
String after cleaning: <h1>Delftstack</h1>
String after cleaning: Delftstack
Utilisez xml.etree.ElementTree
pour supprimer les balises HTML d’une chaîne en Python
ElementTree est une bibliothèque qui analyse et navigue dans XML. La méthode fromstring()
analyse le XML directement d’une chaîne à un élément, qui est un élément racine de l’arbre d’analyse.
Le itertext()
produit un itérateur de texte qui boucle sur cet élément et tous ses sous-éléments dans l’ordre du document, renvoyant tout le texte interne. En fusionnant tous les composants (texte interne) d’un itérable (chaîne d’entrée), séparés par un séparateur de chaîne, la méthode join()
renvoie une chaîne exempte de balises HTML.
Exemple de code :
# Python 3.x
import xml.etree.ElementTree as ET
string = "<h1>Delftstack</h1>"
print("String before cleaning:", string)
tree = ET.fromstring(string)
print("String after cleaning:", "".join(tree.itertext()))
Production:
#Python 3.x
String before cleaning: <h1>Delftstack</h1>
String after cleaning: Delftstack
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedInArticle connexe - Python String
- Supprimer les virgules de la chaîne en Python
- Comment vérifier qu'une chaîne est vide de manière pythonique
- Convertir une chaîne en nom de variable en Python
- Comment supprimer les espaces dans une chaîne de caractères en Python
- Comment extraire des nombres d'une chaîne de caractèresen Python
- Comment convertir une chaîne de caractères en datetime en Python