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: