Boa noite!
Estou tentando retornar um dado da página com o find. Porém, o find retorna o primeiro valor do filtro. Porém, preciso pegar o segundo. Coloquei o código completo abaixo. Eu preciso que o trecho cards['Valor'] = soup.find("strong", class_="value d-block lh-4 fs-4 fw-700").get_text() retorne o segundo valor de uma lista que contem vários valores. Podem me ajudar?
from urllib.request import Request, urlopen, urlretrieve
from urllib.error import URLError, HTTPError
from bs4 import BeautifulSoup
import pandas as pd
url = 'https://statusinvest.com.br/acoes/itsa4'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36'}
try:
req = Request(url, headers = headers)
response = urlopen(req)
except HTTPError as e:
print(e.status, e.reason)
except URLError as e:
print(e.reason)
html = response.read().decode('utf-8')
soup = BeautifulSoup(html, 'html.parser')
card = []
cards = {}
cards['Sigla'] = soup.find("h1", class_="lh-4").get_text()
cards['Valor'] = soup.find("strong", class_="value d-block lh-4 fs-4 fw-700").get_text()
cards['DY'] = soup.find("strong", class_="value d-block lh-4 fs-4 fw-700").get_text()
card.append(cards)
card