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'}
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: