Obtener datos dentro de una etiqueta de botón usando BeautifulSoup

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:

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 *