Eu estou tentando fazer um Loop na URL passando uma lista de valores, mas estou fazendo alguma coisa errada. Eu tentei criar uma lista em ticker com os valores ['ENBR3', 'ITSA4', 'BBAS3'] e rodar com o for na Url, mas acho que fiz besteira. Estou pesquisando na Web. Mas se alguém souber eu agradeço.
from urllib.request import Request, urlopen, urlretrieve
from urllib.error import URLError, HTTPError
from bs4 import BeautifulSoup
import pandas as pd
ticker ="ENBR3"
url = 'https://statusinvest.com.br/acoes/'+ ticker
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['01 - Sigla'] = soup.find("h1", class_="lh-4").get_text()
cards['02 - Valor'] = soup.find_all("strong", class_="value")[0].get_text()
cards['03 - DY'] = soup.find("strong", class_="value d-block lh-4 fs-4 fw-700").get_text()
cards['04 - P/L'] = soup.find_all("strong", class_="value d-block lh-4 fs-4 fw-700")[1].get_text()
card.append(cards)
card