Maison >développement back-end >Tutoriel Python >Comment puis-je supprimer efficacement les balises HTML des chaînes en Python ?
Supprimer le HTML des chaînes en Python
Lors de l'interaction avec du contenu HTML, il devient souvent nécessaire de séparer le texte significatif des balises de balisage pour traitement ou analyse ultérieurs. Voici comment y parvenir efficacement en Python.
Pour supprimer les balises HTML d'une chaîne, utilisez le HTMLParser de la bibliothèque standard Python. Cet analyseur fournit un moyen simple d'analyser des documents HTML et d'extraire uniquement le contenu souhaité.
Pour Python 3, utilisez le code suivant :
from io import StringIO from html.parser import HTMLParser class TagStripper(HTMLParser): def __init__(self): super().__init__() self.reset() self.strict = False self.convert_charrefs = True self.text = StringIO() def handle_data(self, data): self.text.write(data) def get_data(self): return self.text.getvalue() def strip_html(html): stripper = TagStripper() stripper.feed(html) return stripper.get_data()
Pour Python 2, utilisez le code suivant :
from HTMLParser import HTMLParser from StringIO import StringIO class TagStripper(HTMLParser): def __init__(self): self.reset() self.text = StringIO() def handle_data(self, data): self.text.write(data) def get_data(self): return self.text.getvalue() def strip_html(html): stripper = TagStripper() stripper.feed(html) return stripper.get_data()
Maintenant, illustrons son utilisation :
html = "<p>Hello, <em>world</em>!</p>" stripped_text = strip_html(html) print(stripped_text) # Output: Hello, world!
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!