Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich HTML-Tags effizient aus Strings in Python entfernen?
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!