Maison >développement back-end >Tutoriel Python >Comment puis-je supprimer efficacement les balises HTML des chaînes en Python ?

Comment puis-je supprimer efficacement les balises HTML des chaînes en Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-28 22:26:10923parcourir

How Can I Efficiently Strip HTML Tags from Strings in 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn