import requests
from bs4 import BeautifulSoup
webpage_response = requests.get('https://www.jornadaperfecta.com/premier/puntos/?idJornada=1')
webpage = webpage_response.content
soup = BeautifulSoup(webpage, "html.parser")
jugadores = []
posiciones = []
puntuaciones = []
resultados = []
equipos = []
# results = soup.find_all("div", {"class": "puntos-jugador"})
# for tag in results:
# posiciones.append(str(tag.find_all("div", {"class": "jugador-posicion"})).split(">")[-2].split("<")[0])
# puntuaciones.append(str(tag.find_all("div", {"class": "puntos-jugador-puntuacion"})).split(">")[-2].split("<")[0])
# jugadores.append(str(tag.find_all("a", itemprop="url")).split(">")[-2].split("<")[0])
partidos = soup.find_all("div", {"class": "puntos-partido"})
lista_emparejamientos = []
oponentes = []
for partido in partidos:
lista_emparejamientos.append(str(partido.find("meta", itemprop="name")).split('"')[1].split(" - "))
lista_emparejamientos_separados = [x for l in lista_emparejamientos for x in l]
total_equipos = soup.find_all("div", {"class": "col-6-12 mobile-col-6-12"})
n=0
for tag_equipo in total_equipos:
tag_jugador = tag_equipo.find_all("div", {"class": "puntos-jugador"})
for tag in tag_jugador:
posiciones.append(str(tag.find_all("div", {"class": "jugador-posicion"})).split(">")[-2].split("<")[0])
puntuaciones.append(str(tag.find_all("div", {"class": "puntos-jugador-puntuacion"})).split(">")[-2].split("<")[0])
jugadores.append(str(tag.find_all("a", itemprop="url")).split(">")[-2].split("<")[0])
equipos.append(lista_emparejamientos_separados[total_equipos.index(tag_equipo)])
oponentes.append(lista_emparejamientos_separados[total_equipos.index(tag_equipo)+(-1)**n])
n+=1
import pandas as pd
df = pd.DataFrame(list(zip(jugadores, posiciones, equipos, puntuaciones, oponentes)),
columns =['Jugador', 'Posición', 'Equipo', 'Puntuación', 'Oponente'])