Prerrequisito: Hermosa Sopa
BeautifulSoup(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. En este artículo, aprenderemos sobre hermanos en etiquetas HTML usando BeautifulSoup.
Aquí discutiremos estas cuatro propiedades de hermanos:
- previous_sibling se usa para encontrar el elemento anterior del elemento dado
- next_sibling se usa para encontrar el siguiente elemento del elemento dado
- previous_siblings se usa para encontrar todos los elementos anteriores del elemento dado
- next_siblings se usa para encontrar todos los siguientes elementos del elemento dado
Acercarse
- Módulo de importación
- Cargar o crear código HTML
- Analizar código HTML
- Imprimir hermano requerido.
Ejemplo 1: para imprimir el siguiente hermano inmediato
Python3
# Import Module from bs4 import BeautifulSoup # HTML CODE html_code = """<a><b>text1</b><c>text2</c></a>""" # Parse HTML CODE soup = BeautifulSoup(html_code, 'html.parser') # next element print(soup.b.next_sibling)
Producción:
<c>texto2</c>
Ejemplo 2: Para obtener el hermano inmediato anterior
Python3
# Import Module from bs4 import BeautifulSoup # HTML CODE html_code = """<a><b>text1</b><c>text2</c></a>""" # Parse HTML CODE soup = BeautifulSoup(html_code, 'html.parser') # previous element print(soup.c.previous_sibling)
Producción:
<b>texto1</b>
Supongamos que queremos encontrar todos los siguientes elementos de una etiqueta. Para eso, simplemente iteramos a través de hermanos e imprimimos la etiqueta requerida.
Ejemplo 3: para colocar a todos los hermanos al lado de la etiqueta
Python3
# Import Module from bs4 import BeautifulSoup # HTML CODE html_code = """<a><b>text1</b><d>text3</d><c>text2</c></a>""" # Parse HTML CODE soup = BeautifulSoup(html_code, 'html.parser') # next element for element in soup.b.next_siblings: print(element)
Producción:
<d>texto3</d>
<c>texto2</c>
Ejemplo 4: Para obtener todos los hermanos anteriores
Python3
# Import Module from bs4 import BeautifulSoup # HTML CODE html_code = """<a><b>text1</b><d>text3</d><c>text2</c></a>""" # Parse HTML CODE soup = BeautifulSoup(html_code, 'html.parser') # previous element for element in soup.c.previous_siblings: print(element)
Producción:
<d>texto3</d>
<b>texto1</b>