¿Cómo manejar atributos duplicados en BeautifulSoup?

A veces, mientras obtiene la información, ¿se enfrenta a algún problema al manejar la información recibida de atributos duplicados de las mismas etiquetas? En caso afirmativo, lea el artículo y despeje todas sus dudas.

Una vez que haya creado la lista para almacenar los elementos, escriba el siguiente código.

Sintaxis: 

list=soup.find_all(“#Widget Name”, {“id”:”#Id name of widget in which you want to edit”})

Después de escribir el siguiente código, elimine los atributos de la salida e imprima el elemento que desee de la lista.

Acercarse:

  • Módulo de importación
  • Ahora, elimine el último segmento de la ruta ingresando el nombre del archivo de Python en el que está trabajando actualmente.

Sintaxis:

base=os.path.dirname(os.path.abspath(‘#Nombre del archivo de Python en el que está trabajando actualmente’))

  • Luego, abra el archivo HTML del que desea leer el valor.

Sintaxis:

html=open(os.path.join(base, ‘#Nombre del archivo HTML del que desea leer el valor’))

  • Analice el archivo HTML en BeautifulSoup.
  • Además, cree una lista para almacenar todos los valores de elementos de la misma etiqueta y atributos.
  • A continuación, busque todos los artículos que tengan la misma etiqueta y atributos.

Sintaxis:

list=soup.find_all(“#Widget Name”, {“id”:”#Id name of widget in which you want to edit”})

  • Más tarde, elimine todos los atributos de la etiqueta.
  • Finalmente, imprima el elemento determinado de la etiqueta del widget.

Página web en uso:

HTML

<!DOCTYPE html>
<html>
 <head>
   Geeks For Geeks
 </head>
 <body>
 <div>
     <p id="vinayak">King</p>
  
     <p id="vinayak">Prince</p>
  
     <p id="vinayak">Queen</p>
  
 </div>
 <p id="vinayak">Princess</p>
  
  </body>
</html>

Programa:

Python

# Import the libraries beautifulsoup and os
from bs4 import BeautifulSoup as bs
import os
  
# Remove the last segment of the path
# Here replace the name of your python file with
# gfg4.py
base = os.path.dirname(os.path.abspath("gfg4.py"))
  
# Open the HTML in which you want to make 
# changes
html = open(os.path.join(base, 'gfg.html'))
  
# Parse HTML file in Beautiful Soup
soup = bs(html, 'html.parser')
  
# Create a list to store the items
list = [3]
  
# Finding all the elements inside div
# with paragraph having id: vinayak
list = soup.div.find_all("p", {"id": "vinayak"})
  
# Removing attributes from the output
for i in list:
    i.attrs = {}
  
# Printing the value Prince
print(list[1])
  
# Printing the value Queen
print(list[2])

Producción:

<p>Príncipe</p>

<p>Reina</p>

Publicación traducida automáticamente

Artículo escrito por vin8rai 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 *