#base
import logging
import json
from datetime import datetime
import pandas as pd
import requests
from bs4 import BeautifulSoup
url = 'https://apuestas.wplay.co/es'
response = requests.get(url)
soup = BeautifulSoup(response.content,'html.parser')
teams = soup.find_all('span', class_='seln-name')
decs = soup.find_all('span', class_='price dec')
decs_text = [dec.text for dec in decs]
teams_text = [team.text for team in teams]
data = [decs_text[i:i + 3] for i in range(0,len(decs_text),3)]
labels = [teams_text[i:i + 2] for i in range(0,len(teams_text),2)]
columns_ = ['local','visitor', 'l','d','v']
for n, row in enumerate(data):
try:
[labels[n].append(dec) for dec in row]
except:
pass
df_allbets = pd.DataFrame(labels, columns=columns_)
fifa_world_cup_teams = ['Qatar',
'Ecuador',
'Inglaterra',
'Irán',
'Senegal',
'Países Bajos',
'EE.UU',
'Gales',
'Argentina',
'Arábia Saudita',
'Dinamarca',
'Túnez',
'Mexico',
'Polonia',
'Francia',
'Australia',
'Marruecos',
'Croacia',
'Alemania',
'Japón',
'España',
'Costa Rica',
'Bélgica',
'Canadá',
'Suiza',
'Camerun',
'Uruguay',
'Corea del Sur',
'Portugal',
'Ghana',
'Brasil',
'Serbia']
df_allbets['fwc_match'] = df_allbets['local'].apply(lambda l: True if l in fifa_world_cup_teams else False)
df_allbets['fwc_match'].value_counts(dropna=False)
df = df_allbets[df_allbets['fwc_match']==True].copy()
nums = ['l','d','v']
for col in nums:
df[col] = pd.to_numeric(df[col], errors='coerce')
df[col+'^-1'] = 1/df[col]
df_dict = df.to_json(orient='index')
df
df['bigger_probability'] = df[['l^-1','d^-1','v^-1']].apply(lambda x: ['local','draw','visit'][x.argmax()], axis = 1)
df
df_send = df[['local', 'visitor','l', 'd', 'v', 'l^-1', 'd^-1', 'v^-1','bigger_probability']].head(10)
df_send