Eliminar etiquetas HTML de una cadena en Python
- Use Regex para eliminar etiquetas HTML de una cadena en Python
-
Use
BeautifulSoup
para eliminar etiquetas HTML de una cadena en Python -
Use
xml.etree.ElementTree
para eliminar etiquetas HTML de una cadena en Python
En esta guía, aprenderemos y aplicaremos algunos métodos para eliminar etiquetas HTML de una cadena. Usaremos la expresión regular, BeautifulSoup
, y el árbol de elementos XML.
Use Regex para eliminar etiquetas HTML de una cadena en Python
Como las etiquetas HTML siempre contienen el símbolo <>
. Importaremos el módulo re
incorporado (expresión regular) y usaremos el método compile()
para buscar el patrón definido en la cadena de entrada.
Aquí, el patrón <.*?>
significa cero o más caracteres dentro de la etiqueta <>
y coincide con la menor cantidad posible.
El método sub()
se utiliza para reemplazar las ocurrencias de una cadena con otra cadena. Aquí, reemplazará las ocurrencias encontradas con una cadena vacía.
Código de ejemplo:
# 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)
Producción :
#Python 3.x
String before cleaning: <h1>Delftstack</h1>
String after cleaning: Delftstack
Use BeautifulSoup
para eliminar etiquetas HTML de una cadena en Python
BeautifulSoup
es una biblioteca de Python para obtener los datos de HTML y XML. Utiliza un analizador para analizar HTML y XML; uno recomendado es lxml
.
Necesitamos instalar ambos antes de continuar, usando los siguientes comandos:
#Python 3.x
pip install beautifulsoup4
#Python 3.x
pip install lxml
Importamos el módulo BeautifulSoup
y analizamos la cadena HTML dada en el siguiente código. Accedemos al texto desde el HTML usando el atributo texto
.
Código de ejemplo:
# 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)
Producción :
#Python 3.x
String after cleaning: <h1>Delftstack</h1>
String after cleaning: Delftstack
Use xml.etree.ElementTree
para eliminar etiquetas HTML de una cadena en Python
ElementTree es una biblioteca que analiza y navega a través de XML. El método fromstring()
analiza el XML directamente desde una cadena a un elemento, que es un elemento raíz del árbol de análisis.
El itertext()
produce un iterador de texto que recorre este elemento y todos sus subelementos en el orden del documento, devolviendo todo el texto interno. Al fusionar todos los componentes (texto interno) de un iterable (cadena de entrada), separados por un separador de cadena, el método join()
devuelve una cadena libre de etiquetas HTML.
Código de ejemplo:
# 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()))
Producción :
#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.
LinkedIn