La propiedad nextSibling se usa para devolver el siguiente Node del Node especificado como objeto Node o nulo si el Node especificado es el último de la lista. Es una propiedad de sólo lectura. En este artículo, encontraremos los siguientes hermanos de una etiqueta dada que satisfagan los criterios dados y aparezcan después de esta etiqueta en el documento.
Ejemplos:
HTML_DOC:
“””
<html>
<cabeza>
<title> Encuentra a los siguientes hermanos </title>
</cabeza>
<cuerpo>
<p class = “idiomas”>1957: FORTRAN</p>
<p class = “idiomas”>1972: C</p>
<p class = “idiomas”>1983: C++</p>
<p class = “idiomas”>1991: Python</p>
<p class = “idiomas”>1993: Ruby</p>
<p class = “idiomas”>1995: Java</p>
<p class = “idiomas”>1995: PHP</p>
<p class = “idiomas”>1995: JavaScript</p>
</cuerpo>
</html>
“””
elemento : <p class = “idiomas”>1957: FORTRAN</p>
Producción :
<p class = “idiomas”>1972: C</p>
<p class = “idiomas”>1983: C++</p>
<p class = “idiomas”>1991: Python</p>
<p class = “idiomas”>1993: Ruby</p>
<p class = “idiomas”>1995: Java</p>
<p class = “idiomas”>1995: PHP</p>
<p class = “idiomas”>1995: JavaScript</p>
Módulos Requeridos:
- BeautifulSoup (bs4): es una biblioteca de Python para extraer datos de archivos HTML y XML. Este módulo no viene integrado con Python. Ejecute el siguiente comando en la terminal para instalar esta biblioteca:
pip install bs4 or pip install beautifulsoup4
Encontrar a los próximos hermanos:
La función find_next_siblings() se usa para encontrar todos los hermanos siguientes de una etiqueta/elemento.
Devuelve todos los hermanos siguientes que coinciden.
Encuentra el próximo hermano:
La función find_next_sibling() se usa para encontrar el hermano siguiente de una etiqueta/elemento.
Solo devuelve la primera coincidencia junto a la etiqueta/elemento.
Ejemplo 1: encontrar todos los hermanos siguientes de una etiqueta/elemento
Python3
# Import Module from bs4 import BeautifulSoup # HTML Document HTML_DOC = """ <html> <head> <title> Find Next Siblings </title> </head> <body> <p class = "languages">1957: FORTRAN</p> <p class = "languages">1972: C</p> <p class = "languages">1983: C++</p> <p class = "languages">1991: Python</p> <p class = "languages">1993: Ruby</p> <p class = "languages">1995: Java</p> <p class = "languages">1995: PHP</p> <p class = "languages">1995: JavaScript</p> </body> </html> """ # Function to find all the next siblings def findNextSiblings(html): # parse html content soup = BeautifulSoup(html, "html.parser") element = soup.p # Extracting all the next siblings of an element nextSiblings = element.find_next_siblings("p") # Printing all the next siblings for nextSibling in nextSiblings: print(nextSibling) # Function Call findNextSiblings(HTML_DOC)
Producción:
Ejemplo 2: encontrar el siguiente hermano de una etiqueta/elemento
Python3
# Import Module from bs4 import BeautifulSoup # HTML Document HTML_DOC = """ <html> <head> <title> Find Next Sibling </title> </head> <body> <p class = "languages">1957: FORTRAN</p> <p class = "languages">1972: C</p> <p class = "languages">1983: C++</p> <p class = "languages">1991: Python</p> <p class = "languages">1993: Ruby</p> <p class = "languages">1995: Java</p> <p class = "languages">1995: PHP</p> <p class = "languages">1995: JavaScript</p> </body> </html> """ # Function to find the next sibling def findNextSibling(html): # parse html content soup = BeautifulSoup(html, "html.parser") element = soup.p # Extracting the next sibling of an element nextSibling = element.find_next_sibling("p") # Printing next sibling of an element print(nextSibling) # Function Call findNextSibling(HTML_DOC)
Producción:
Ejemplo 3: encontrar el hermano siguiente de la etiqueta principal (en el caso de una estructura anidada)
Python3
# Import Module from bs4 import BeautifulSoup # HTML Document HTML_DOC = """ <html> <head> <title> Find Next Sibling Of Parent </title> </head> <body> <div class = "languages"> <p>1957: FORTRAN</p> </div> <div class = "languages">1995: PHP</div> <div class = "languages">1995: JavaScript</div> </body> </html> """ # Function to find the next sibling def findNextSibling(html): # parse html content soup = BeautifulSoup(html, "html.parser") element = soup.p # Parent tag of the element parent_tag = element.parent # Extracting the next sibling of parent nextSibling = parent_tag.find_next_sibling("div") # Printing next sibling of parent print(nextSibling) # Function Call findNextSibling(HTML_DOC)
Producción:
Ejemplo 4: encontrar un número específico de hermanos próximos.
Por ejemplo, encontrar solo los siguientes 3 hermanos de un elemento.
Esto se puede hacer usando el argumento de límite
Python3
# Import Module from bs4 import BeautifulSoup # HTML Document HTML_DOC = """ <html> <head> <title> Find Next 3 Siblings </title> </head> <body> <p class = "languages">1957: FORTRAN</p> <p class = "languages">1972: C</p> <p class = "languages">1983: C++</p> <p class = "languages">1991: Python</p> <p class = "languages">1993: Ruby</p> <p class = "languages">1995: Java</p> <p class = "languages">1995: PHP</p> <p class = "languages">1995: JavaScript</p> </body> </html> """ # Function to find 3 next siblings def findNextSiblings(html): # parse html content soup = BeautifulSoup(html, "html.parser") element = soup.p # Extracting the next 3 siblings of an element nextSiblings = element.find_next_siblings("p", limit=3) # Printing the next 3 siblings for nextSibling in nextSiblings: print(nextSibling) # Function Call findNextSiblings(HTML_DOC)
Producción:
Publicación traducida automáticamente
Artículo escrito por yuvraj_chandra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA