HTML-Tags aus einer Zeichenkette in Python entfernen
- Verwenden Sie Regex, um HTML-Tags aus einer Zeichenfolge in Python zu entfernen
-
Verwenden Sie
BeautifulSoup
, um HTML-Tags aus einem String in Python zu entfernen -
Verwenden Sie
xml.etree.ElementTree
, um HTML-Tags aus einem String in Python zu entfernen
In diesem Leitfaden lernen und wenden wir einige Methoden an, um HTML-Tags aus einer Zeichenfolge zu entfernen. Wir werden die Regex BeautifulSoup
und den XML-Elementbaum verwenden.
Verwenden Sie Regex, um HTML-Tags aus einer Zeichenfolge in Python zu entfernen
Da HTML-Tags immer das Symbol <>
enthalten. Wir importieren das eingebaute re
-Modul (regulärer Ausdruck) und verwenden die compile()
-Methode, um nach dem definierten Muster in der Eingabezeichenfolge zu suchen.
Hier bedeutet das Muster <.*?>
null oder mehr Zeichen innerhalb des Tags <>
und entspricht so wenig wie möglich.
Die Methode sub()
wird verwendet, um das Vorkommen eines Strings durch einen anderen String zu ersetzen. Hier werden die gefundenen Vorkommen durch eine leere Zeichenfolge ersetzt.
Beispielcode:
# Python 3.x
import re
string = "<h1>Delftstack</h1>"
print("String before cleaning:", string)
to_clean = re.compile("<.*?>")
cleantext = re.sub(to_clean, "", string)
print("String after cleaning:", cleantext)
Ausgabe:
#Python 3.x
String before cleaning: <h1>Delftstack</h1>
String after cleaning: Delftstack
Verwenden Sie BeautifulSoup
, um HTML-Tags aus einem String in Python zu entfernen
BeautifulSoup
ist eine Python-Bibliothek, um die Daten aus HTML und XML zu erhalten. Es verwendet einen Parser, um HTML und XML zu parsen; empfohlen ist lxml
.
Wir müssen beide installieren, bevor wir fortfahren, indem wir die folgenden Befehle verwenden:
#Python 3.x
pip install beautifulsoup4
#Python 3.x
pip install lxml
Wir haben das BeautifulSoup
-Modul importiert und den angegebenen HTML-String im folgenden Code geparst. Auf den Text aus dem HTML haben wir mit dem Attribut text
zugegriffen.
Beispielcode:
# Python 3.x
from bs4 import BeautifulSoup
string = "<h1>Delftstack</h1>"
print("String after cleaning:", string)
cleantext = BeautifulSoup(string, "lxml").text
print("String after cleaning:", cleantext)
Ausgabe:
#Python 3.x
String after cleaning: <h1>Delftstack</h1>
String after cleaning: Delftstack
Verwenden Sie xml.etree.ElementTree
, um HTML-Tags aus einem String in Python zu entfernen
Der ElementTree ist eine Bibliothek, die XML analysiert und darin navigiert. Die Methode fromstring()
parst das XML direkt von einem String zu einem Element, das ein Wurzelelement des Parse-Baums ist.
Der itertext()
erzeugt einen Text-Iterator, der dieses Element und alle seine Unterelemente in Dokumentenreihenfolge durchläuft und den gesamten inneren Text zurückgibt. Durch Zusammenführen aller Komponenten (innerer Text) eines Iterables (Eingabe-String), getrennt durch ein String-Trennzeichen, gibt die Methode join()
einen String zurück, der frei von HTML-Tags ist.
Beispielcode:
# Python 3.x
import xml.etree.ElementTree as ET
string = "<h1>Delftstack</h1>"
print("String before cleaning:", string)
tree = ET.fromstring(string)
print("String after cleaning:", "".join(tree.itertext()))
Ausgabe:
#Python 3.x
String before cleaning: <h1>Delftstack</h1>
String after cleaning: Delftstack
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedInVerwandter Artikel - Python String
- Entfernen Kommas aus String in Python
- Wie man prüft, ob eine Zeichenkette auf pythonische Weise leer ist
- Konvertieren einer Zeichenkette in einen Variablennamen in Python
- Wie man Leerzeichen in einem String in Python entfernt
- Wie man in Python Zahlen aus einer Zeichenkette extrahiert
- Wie man in Python String in datetime konvertiert