You can use the " link " website to extract all information about all lottery draws from CEF using BeautifulSoup
, see:
import requests
from bs4 import BeautifulSoup
def obterPremiacaoMegaSena( soup, premio ):
td = soup.find( 'th', text=lambda x: x.startswith(premio)).find_parent('tr').findAll("td")
if( td[1].text == "-" ):
return { "Tipo" : premio, "QtdGanhadores" : u"0", "ValorPremio" : u"0,00" }
else:
return { "Tipo" : premio, "QtdGanhadores" : td[0].text.split(' ')[0], "ValorPremio" : td[1].text.split(' ')[1] }
def obterResultadoMegaSena( nconcurso ):
try:
req = requests.get( "http://www.loteriaseresultados.com.br/megasena/concurso/" + str(nconcurso) )
soup = BeautifulSoup( req.content, "html.parser" )
dezenas = [ int(dezena.text) for dezena in soup.findAll( "div", class_="bola bg-success" ) ]
sena = obterPremiacaoMegaSena( soup, "SENA" )
quina = obterPremiacaoMegaSena( soup, "QUINA" )
quadra = obterPremiacaoMegaSena( soup, "QUADRA" )
return { "Concurso" : nconcurso, "DezenasSorteadas" : dezenas, "Premiacao" : [ sena, quadra, quina ] }
except:
return None
print( obterResultadoMegaSena( 2047 ) )
Output:
{
'Concurso': 2047,
'DezenasSorteadas': [1, 18, 19, 29, 44, 54],
'Premiacao': [ {
'ValorPremio': u'0,00',
'QtdGanhadores': u'0',
'Tipo': 'SENA'
},
{
'ValorPremio': u'1.002,65',
'QtdGanhadores': u'2.390',
'Tipo': 'QUADRA'
},
{
'ValorPremio': u'55.914,69',
'QtdGanhadores': u'30',
'Tipo': 'QUINA'
}
]
}