Estoy intentando extraer el valor 86830 del código fuente HTML usando bs4. Esto es lo que tengo hasta ahora:

page = requests.get("https://www.sunnyportal.com/Templates/PublicPage.aspx?page=1169a2ff-8f51-4ea9-ba72-316009593c62")

soup = BeautifulSoup(page.content, 'html.parser')

Ahora trato de extraer la identificación del intervalo con ese valor:

pv_current = soup.find("span", attrs = {"class" : "mainValueAmount"})

print(pv_current)

Y la salida que obtengo es

<span class="mainValueAmount" data-peak="164610" data-timestamp="2020-10-27T10:30:00" data-value="86830">-</span>

Mi pregunta es, ¿cómo extraigo este valor de 86830? Gracias.

0
Shyam BHAGAT 27 oct. 2020 a las 06:23

1 respuesta

La mejor respuesta

data-value es un attribute de la etiqueta span. Debe utilizar corchetes para extraer los valores de atributo de una etiqueta. Así es como se hace:

value = pv_current['data-value']

print(value)

Salida:

86830

Aquí está el código completo:

from bs4 import BeautifulSoup
import requests

page = requests.get("https://www.sunnyportal.com/Templates/PublicPage.aspx?page=1169a2ff-8f51-4ea9-ba72-316009593c62")

soup = BeautifulSoup(page.content, 'html.parser')

pv_current = soup.find("span", attrs = {"class" : "mainValueAmount"})

value = pv_current['data-value']

print(value)
1
Sushil 27 oct. 2020 a las 03:26