Encuentra los hermanos de las etiquetas usando BeautifulSoup

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>

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 *