A veces, mientras trabaja con BeautifulSoup, ¿está atascado en el punto en el que tiene que obtener datos dentro de una etiqueta de botón? No te preocupes. Simplemente lea el artículo y sepa cómo puede hacer lo mismo.
Por ejemplo, considere esta fuente de página simple que tiene una etiqueta de botón.
HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Apple</title> </head> <body> <button id="enjoy" onclick="gfg.html"> Click Me! </button> </body> </html>
Una vez que haya creado el botón en el código HTML, puede obtener el texto dentro de una etiqueta de botón usando:
btn_text=btn.text print(btn_text)
Además, puede encontrar el enlace onclick del botón dentro de una etiqueta de botón usando:
btn_onclick=btn['onclick'] print(btn_onclick)
Pasos para obtener el texto dentro del Botón
Paso 1: Primero, importa las bibliotecas Beautiful Soup y os.
from bs4 import BeautifulSoup as bs import os
Paso 2: ahora, elimine el último segmento de la ruta ingresando el nombre del archivo de Python en el que está trabajando actualmente.
base=os.path.dirname(os.path.abspath(‘#Nombre del archivo de Python en el que está trabajando actualmente))
Paso 3: luego, abra el archivo HTML desde el que desea leer el valor.
html=open(os.path.join(base, ‘#Nombre del archivo HTML del que desea leer el valor’))
Paso 4: Además, analice el archivo HTML en Beautiful Soup
soup=bs(html, 'html.parser')
Paso 5: A continuación, busque el botón para el que desea obtener los datos.
btn=soup.find("button", {"id":"#Id name of the button"})
Paso 6: ahora, para obtener el texto almacenado dentro de la etiqueta del botón en el HTML, use:
btn_text=btn.text
Paso 7: Además, para encontrar el enlace onclick dentro de la etiqueta del botón, puede escribir el código de la siguiente manera:
btn_onclick=btn['onclick']
Paso 8: Finalmente, se imprime el texto y el enlace onclick de la etiqueta del botón obtenido en los pasos 6 y 7.
print(btn_text) print(btn_onclick)
A continuación se muestra la implementación completa:
Python
# Python program to get data inside # a button tag using BeautifulSoup # Import the libraries BeautifulSoup # and os from bs4 import BeautifulSoup as bs import os # Remove the last segment of the path base = os.path.dirname(os.path.abspath(__file__)) # Open the HTML in which you want to make # changes html = open(os.path.join(base, 'run.html')) # Parse HTML file in Beautiful Soup soup = bs(html, 'html.parser') # Finding the location of button btn = soup.find("button", {"id": "enjoy"}) # Obtaining the text stored inside button tag btn_text = btn.text # Obtaining the onclick link of button tag btn_onclick = btn['onclick'] # Printing the values print(btn_text) print(btn_onclick)
Producción: