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>