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
Freigeben: 2024-12-06 22:47:11
Original
299 Leute haben es durchsucht

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()
Nach dem Login kopieren

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()
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage