Si vous traitez fréquemment du contenu Web, vous devrez peut-être explorer des pages Web et en extraire du contenu textuel. Cependant, les balises et les informations de style dans le code HTML peuvent rendre le traitement du texte assez difficile. Dans ce cas, le langage de programmation Python fournit des fonctions et bibliothèques utiles pour supprimer les balises HTML, vous permettant ainsi de traiter et d'utiliser le texte plus facilement.
Python fournit deux bibliothèques couramment utilisées pour supprimer les balises HTML : re et BeautifulSoup. Ici, nous allons apprendre comment supprimer les balises HTML en utilisant respectivement ces deux bibliothèques.
La bibliothèque re (expression régulière) de Python possède de puissantes capacités de traitement de chaînes. Nous pouvons utiliser certaines méthodes de cette bibliothèque pour supprimer les balises HTML. Plus précisément, nous pouvons utiliser la fonction re.sub() pour remplacer les balises HTML. Voyons un exemple :
import re def remove_tags(text): TAG_RE = re.compile(r'<[^>]+>') return TAG_RE.sub('', text) html = '<html><head><title>Test</title></head><body><h1>Parse me!</h1></body></html>' print(remove_tags(html))
Résultat :
Test Parse me!
Dans le code ci-dessus, la fonction re.compile() est utilisée pour créer un objet d'expression régulière en utilisant '<1+>' balises. Nous passons ensuite cet objet d'expression régulière en paramètre à la fonction re.sub(), qui remplace toutes les balises correspondantes par des chaînes vides. Enfin, nous appelons la fonction avec le texte dont les balises HTML ont été supprimées.
Bien qu'il puisse suffire d'utiliser la bibliothèque re pour traiter du texte HTML simple, si vous traitez du texte HTML complexe, lorsque vous commencerez à envisager de traiter les styles CSS et les scripts JavaScript, vous constaterez que le traitement devient plus difficile. Dans ce cas, vous pouvez utiliser la bibliothèque BeautifulSoup.
La bibliothèque BeautifulSoup facilite le traitement du texte HTML et est plus flexible que la bibliothèque re. BeautifulSoup vous aide à analyser le texte HTML et vous permet de sélectionner des éléments spécifiques tels que des balises, des classes, etc. Vous pouvez l'utiliser pour supprimer toutes les balises, puis extraire le contenu du texte.
Voici un exemple :
from bs4 import BeautifulSoup def remove_tags(text): soup = BeautifulSoup(text, 'html.parser') return soup.get_text() html = '<html><head><title>Test</title></head><body><h1>Parse me!</h1></body></html>' print(remove_tags(html))
Sortie :
Test Parse me!
Dans le code ci-dessus, nous transmettons le texte HTML à la fonction BeautifulSoup() pour l'analyse. Ensuite, utilisez la méthode soupe.get_text() pour extraire le contenu du texte en ignorant les balises HTML.
Résumé
Que vous utilisiez la bibliothèque re ou la bibliothèque BeautifulSoup, Python propose de nombreuses méthodes pour supprimer les balises HTML. Si vous avez affaire à du texte HTML simple, utilisez la bibliothèque re. Pour du texte HTML plus complexe, utilisez la bibliothèque BeautifulSoup, qui facilitera grandement le traitement. Quelle que soit la méthode que vous choisissez, vous devez être familier avec les expressions régulières et comprendre la syntaxe de la bibliothèque que vous avez choisie.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!