Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich HTML-Tags effizient aus Strings in Python entfernen?

Wie kann ich HTML-Tags effizient aus Strings in Python entfernen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-06 22:47:11300Durchsuche

How Can I Efficiently Remove HTML Tags from Strings in Python?

HTML-Tags aus Strings in Python entfernen

In Python gibt es verschiedene Szenarien, in denen Sie möglicherweise HTML-Tags aus einem String entfernen müssen seinen Inhalt extrahieren. Lassen Sie uns eine Lösung für dieses Problem finden.

Angenommen, Sie rufen HTML-Inhalte mithilfe der Mechanize-Bibliothek ab, wie im Beispielausschnitt gezeigt. Jede Zeile des Inhalts enthält HTML-Tags und Text. Um nur den Text zu extrahieren, müssen wir die Tags entfernen.

Eine Möglichkeit besteht darin, eine benutzerdefinierte Funktion zu verwenden, um diese Aufgabe auszuführen. Die Funktion „strip_tags“ verwendet die Klasse „HTMLParser“, um einen Parser zu erstellen, der HTML-Inhalte verarbeitet. Der Parser extrahiert nur die Daten innerhalb der Tags und sammelt sie in einem StringIO-Objekt.

Hier ist das Code-Snippet für Python 3:

from io import StringIO
from html.parser import HTMLParser

class MLStripper(HTMLParser):
    def __init__(self):
        super().__init__()
        self.reset()
        self.strict = False
        self.convert_charrefs= True
        self.text = StringIO()
    def handle_data(self, d):
        self.text.write(d)
    def get_data(self):
        return self.text.getvalue()

def strip_tags(html):
    s = MLStripper()
    s.feed(html)
    return s.get_data()

Verwenden Sie für Python 2 den folgenden Code:

from HTMLParser import HTMLParser
from StringIO import StringIO

class MLStripper(HTMLParser):
    def __init__(self):
        self.reset()
        self.text = StringIO()
    def handle_data(self, d):
        self.text.write(d)
    def get_data(self):
        return self.text.getvalue()

def strip_tags(html):
    s = MLStripper()
    s.feed(html)
    return s.get_data()

Indem Sie den HTML-Inhalt an diese Funktion übergeben, können Sie die Tags effektiv entfernen und nur den Text beibehalten Inhalt.

Das obige ist der detaillierte Inhalt vonWie kann ich HTML-Tags effizient aus Strings in Python entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn