¿Cómo eliminar etiquetas vacías usando BeautifulSoup en Python?

Requisito previo: Requests , BeautifulSoup , tira

La tarea es escribir un programa que elimine la etiqueta vacía del código HTML. En Beautiful Soup no existe un método integrado para eliminar etiquetas que no tienen contenido.

Módulo necesario:

  • bs4: Beautiful Soup (bs4) es una biblioteca de Python para extraer datos de archivos HTML y XML. Este módulo no viene integrado con Python. Para instalar este tipo, escriba el siguiente comando en la terminal.
pip install bs4
  • requests:  Requests le permite enviar requests HTTP/1.1 con mucha facilidad. Este módulo tampoco viene integrado con Python. Para instalar este tipo, escriba el siguiente comando en la terminal.
pip install requests

Acercarse:

  • Obtener código HTML
  • Iterar a través de cada etiqueta
    • Obtener texto de la etiqueta y eliminar los espacios en blanco con la tira.
    • el el el HTML

Ejemplo 1: eliminar la etiqueta vacía.

Python3

# Import Module
from bs4 import BeautifulSoup
  
# HTML Object
html_object = """
  
<p>
<p></p>
<strong>some<br>text<br>here</strong></p>
  
"""
  
# Get HTML Code
soup = BeautifulSoup( html_object , "lxml")
  
# Iterate each line
for x in soup.find_all():
  
    # fetching text from tag and remove whitespaces
    if len(x.get_text(strip=True)) == 0:
          
        # Remove empty tag
        x.extract()
  
# Print HTML Code with removed empty tags
print(soup)

Producción:

<html><body><strong>sometexthere</strong>
</body></html>

Ejemplo 2: eliminar la etiqueta vacía de una URL determinada.

Python3

# Import Module
from bs4 import BeautifulSoup
import requests
  
# Page URL
URL = "https://www.geeksforgeeks.org/"
  
# Page content from Website URL
page = requests.get( URL )
  
# Get HTML Code
soup = BeautifulSoup( page.content , "lxml" )
  
# Iterate each line
for x in soup.find_all():
  
    # fetching text from tag and remove whitespaces
    if len( x.get_text ( strip = True )) == 0:
  
        # Remove empty tag
        x.extract()
  
# Print HTML Code with removed empty tags
print(soup)

Producción:

Publicación traducida automáticamente

Artículo escrito por abhigoya y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *