Exemplo n.º 1
0
def crear_calendario(temp, path):

    global partidos_df
    page_soup = BS(uOpen(path).read(), 'html.parser')
    rounds = page_soup.find_all('div',
                                {'class': 'jornada calendarioInternacional'})

    for r in rounds:

        rnd = r.caption.text  # Get the name of the round i.e. Jornada 1
        matches = r.findAll('tr')  # Find all the matches in that round

        for j, match in enumerate(matches[1:]):

            loc = match.find('td', {'class': 'local'}).span.text
            away = match.find('td', {'class': 'visitante'}).span.text

            loc, away = limpiar_nombre(loc), limpiar_nombre(away)
            loc, away = buscar_equivalencia(loc), buscar_equivalencia(away)

            res = pd.DataFrame([[rnd, j + 1, loc, away]],
                               columns=list(partidos_df))
            partidos_df = partidos_df.append(res)

    partidos_df = partidos_df.reset_index()
    partidos_df.drop('index', axis=1, inplace=True)
def crear_calendario(temp, path):
    
    global partidos_df
    page_soup = BS(uOpen(path).read(), 'html.parser')
    jornadas = page_soup.find_all('div',{'class': 'jornada-calendario-historico'})
    
    for jornada in jornadas:

        numero_jornada_y_fecha = jornada.div.text
        jor, fecha = filtrar_jornada(numero_jornada_y_fecha)
        partidos = jornada.findAll('td')
        
        for j, partido in enumerate(partidos):
            
            resultado = partido.text
            eq_loc, eq_vis, gol_loc, gol_vis = filtrar_resultado(resultado)
            eq_loc, eq_vis = limpiar_nombre(eq_loc), limpiar_nombre(eq_vis)        
            eq_loc, eq_vis = buscar_equivalencia(eq_loc), buscar_equivalencia(eq_vis)
            
            res = pd.DataFrame([[temp, jor, j+1, fecha, eq_loc, eq_vis, gol_loc, gol_vis]], 
                               columns=list(partidos_df))
            partidos_df = partidos_df.append(res)
        
    partidos_df = partidos_df.reset_index()
    partidos_df.drop('index', axis=1, inplace=True)
def limpiar_accion(minuto, jugador):

    mi = minuto.replace('Min. ', '')
    ju = jugador.replace(minuto, '')
    ju = limpiar_nombre(ju, [], stopwords=matches_stopwords)
    ju = ju.replace('()', '').rstrip()
    return mi, ju
        refs_page = BS(uOpen(url_std).read(), 'html.parser')

        tabla = refs_page.find('table', {'class': 'standard_tabelle'})
        filas = tabla.findAll('tr')[1:-1]
        
        for fila in filas:
            
            #fila = filas[0]
            temporada = temp
            datos = fila.findAll('td')
            nombre = datos[1].text    
            
            sub_url = datos[1].a['href']
            sub_page = BS(uOpen('http://www.livefutbol.com' + sub_url).read(), 'html.parser')
            cuadro = sub_page.find('table', {'class': 'standard_tabelle yellow'})
            equipo = buscar_equivalencia(limpiar_nombre(cuadro.findAll('a')[-1].text))
            
            capacidad = int(datos[5].text.replace('.', ''))
            
            estadio = pd.DataFrame([[temporada, nombre, equipo, capacidad]], columns=list(estadios_df))
            estadios_df = estadios_df.append(estadio)
            
    except: print('Error para url: ' + url_std)
         
estadios_df = estadios_df.reset_index()
estadios_df.drop('index', axis=1, inplace=True)




# Exportar a Excel
 
 url = url_jornadas[0]
 
 page = BS(uOpen(url).read(), 'html.parser')
 page.find('main')
 
 partidos = page.find('div', {'class': 'resultados borde-caja'})
 partidos = partidos.find('table')
 partidos = partidos.findAll('tr')    
 
 for n, partido in enumerate(partidos):
  
     eq_loc = partido.find('td', {'class':'equipo-local'}).text
     eq_vis = partido.find('td', {'class':'equipo-visitante'}).text
     
     eq_loc, eq_vis = limpiar_nombre(eq_loc), limpiar_nombre(eq_vis)        
     eq_loc, eq_vis = buscar_equivalencia(eq_loc), buscar_equivalencia(eq_vis)
     
     resultado = partido.find('td', {'class':'resultado'}).text
     gol_loc, gol_vis = resultado.split('-')
     
     link_a_stats = partido.attrs['onclick'].split('/')[-2]
     url_stats = url + '/' + link_a_stats
     
     try:
         
         stats_page = BS(uOpen(url_stats).read(), 'html.parser')
     
         INFO_PARTIDO = {'class': 'partido borde-caja'}
         INFO_ESTADIS = {'table'}
         INFO_ARBITRO = {'class': 'col-der'}
Exemplo n.º 6
0
client.close()

page_soup = BS(page, 'html.parser')
equipos = page_soup.findAll('li', {'id': 'nombreEquipo'})
print('Tenemos %d equipos' % len(equipos))

teams = list()
equipos_df = pd.DataFrame(columns=['Nombre', 'Escudo', 'Es_url'])

jugadores = list()
jugadores_df = pd.DataFrame(columns=['Equipo', 'Jugador', 'Dorsal'])

for equipo in equipos:

    # Extraer información global del equipo
    nombre = buscar_equivalencia(limpiar_nombre(equipo.h2.text))
    es_url = equipo.img['src']

    start1 = time.time()
    escudo = url_to_image('http:' + es_url)
    teams.append(nombre)
    nuevo_equipo = pd.DataFrame([[nombre, escudo, es_url]],
                                columns=list(equipos_df))
    equipos_df = equipos_df.append(nuevo_equipo)

    # Extraer la plantilla de jugadores
    plantilla = equipo.findAll('li')

    # p = plantilla[0]
    for p in plantilla: