https://fbref.com/en/partidas/25d5b9bd/ ... 25-Serie-A
Ich möchte die Teamstatistiken, wie Ballbesitz und Schüsse aufs Tor, sowie die folgenden Informationen wie Fouls, Ecken ... kratzen.
Was ich jetzt habe, ist ein sehr überkomplizierter Code. Grundsätzlich wird diese Zeichenfolge mehrmals entfernt und aufgeteilt, um die gewünschten Werte zu erhalten.
#getting a general info dataframe with all matches
championship_url = 'https://fbref.com/en/comps/24/1495/schedule/2016-Serie-A-Scores-and-Fixtures'
data = requests.get(URL)
time.sleep(3)
matches = pd.read_html(data.text, match="Resultados e Calendários")[0]
#putting stats info in each match entry (this is an example match to test)
match_url = 'https://fbref.com/en/partidas/25d5b9bd/Coritiba-Cuiaba-2022Julho25-Serie-A'
data = requests.get(match_url)
time.sleep(3)
soup = BeautifulSoup(data.text, features='lxml')
# ID the match to merge later on
home_team = soup.find("h1").text.split()[0]
round_week = float(soup.find("div", {'id': 'content'}).text.split()[18].strip(')'))
# collecting stats
stats = soup.find("div", {"id": "team_stats"}).text.split()[5:] #first part of stats with the progress bars
stats_extra = soup.find("div", {"id": "team_stats_extra"}).text.split()[2:] #second part
all_stats = {'posse_casa':[], 'posse_fora':[], 'chutestotais_casa':[], 'chutestotais_fora':[],
'acertopasses_casa':[], 'acertopasses_fora':[], 'chutesgol_casa':[], 'chutesgol_fora':[],
'faltas_casa':[], 'faltas_fora':[], 'escanteios_casa':[], 'escanteios_fora':[],
'cruzamentos_casa':[], 'cruzamentos_fora':[], 'contatos_casa':[], 'contatos_fora':[],
'botedef_casa':[], 'botedef_fora':[], 'aereo_casa':[], 'aereo_fora':[],
'defesas_casa':[], 'defesas_fora':[], 'impedimento_casa':[], 'impedimento_fora':[],
'tirometa_casa':[], 'tirometa_fora':[], 'lateral_casa':[], 'lateral_fora':[],
'bolalonga_casa':[], 'bolalonga_fora':[], 'Em casa':[home_team], 'Sem':[round_week]}
#not gonna copy everything but is kinda like this for each stat
#stats = '\nEstatísticas do time\n\n\nCoritiba \n\n\n\t\n\n\n\n\n\n\n\n\n\n Cuiabá\n\nPosse\n\n\n\n42%\n\n\n\n\n\n58%\n\n\n\n\nChutes ao gol\n\n\n\n2 of 4\xa0—\xa050%\n\n\n\n\n\n0%\xa0—\xa00 of 8\n\n\n\n\nDefesas\n\n\n\n0 of 0\xa0—\xa0%\n\n\n\n\n\n50%\xa0—\xa01 of 2\n\n\n\n\nCartões\n\n\n\n\n\n\n\n\n\n\n\n\n\n'
#first grabbing 42% possession
all_stats['posse_casa']=stats.replace('\n','').replace('\t','')[20:].split('Posse')[1][:5].split('%')[0]
#grabbing 58% possession
all_stats['posse_fora']=stats.replace('\n','').replace('\t','')[20:].split('Posse')[1][:5].split('%')[1]
all_stats_df = pd.DataFrame.from_dict(all_stats)
championship_data = matches.merge(all_stats_df, on=['Em casa','Sem'])
In diesem Dic BC gibt es viele Statistiken aus früheren Meisterschaftsjahren, FBref verfügt über alle diese Statistiken, nur in der Meisterschaft des aktuellen Jahres müssen nur 12 davon ausgefüllt werden. Ich beabsichtige, den Code in 5-6 verschiedenen Jahren auszuführen, also habe ich eine Version mit allen Statistiken erstellt, und in den Spielen des laufenden Jahres habe ich vor, mit nichts zu füllen, wenn es auf der Seite keine Statistiken gibt, die gelöscht werden könnten.
https://fbref.com/en/partidas/25d5b9bd/Coritiba-Cuiaba-2022Julho25-Serie-A Ich möchte die Teamstatistiken, wie Ballbesitz und Schüsse aufs Tor, sowie die folgenden Informationen wie Fouls, Ecken ... kratzen. Was ich jetzt habe, ist ein sehr überkomplizierter Code. Grundsätzlich wird diese Zeichenfolge mehrmals entfernt und aufgeteilt, um die gewünschten Werte zu erhalten. [code]#getting a general info dataframe with all matches championship_url = 'https://fbref.com/en/comps/24/1495/schedule/2016-Serie-A-Scores-and-Fixtures' data = requests.get(URL) time.sleep(3) matches = pd.read_html(data.text, match="Resultados e Calendários")[0]
#putting stats info in each match entry (this is an example match to test) match_url = 'https://fbref.com/en/partidas/25d5b9bd/Coritiba-Cuiaba-2022Julho25-Serie-A' data = requests.get(match_url) time.sleep(3) soup = BeautifulSoup(data.text, features='lxml')
# ID the match to merge later on home_team = soup.find("h1").text.split()[0] round_week = float(soup.find("div", {'id': 'content'}).text.split()[18].strip(')'))
# collecting stats stats = soup.find("div", {"id": "team_stats"}).text.split()[5:] #first part of stats with the progress bars stats_extra = soup.find("div", {"id": "team_stats_extra"}).text.split()[2:] #second part
#not gonna copy everything but is kinda like this for each stat #stats = '\nEstatísticas do time\n\n\nCoritiba \n\n\n\t\n\n\n\n\n\n\n\n\n\n Cuiabá\n\nPosse\n\n\n\n42%\n\n\n\n\n\n58%\n\n\n\n\nChutes ao gol\n\n\n\n2 of 4\xa0—\xa050%\n\n\n\n\n\n0%\xa0—\xa00 of 8\n\n\n\n\nDefesas\n\n\n\n0 of 0\xa0—\xa0%\n\n\n\n\n\n50%\xa0—\xa01 of 2\n\n\n\n\nCartões\n\n\n\n\n\n\n\n\n\n\n\n\n\n' #first grabbing 42% possession all_stats['posse_casa']=stats.replace('\n','').replace('\t','')[20:].split('Posse')[1][:5].split('%')[0] #grabbing 58% possession all_stats['posse_fora']=stats.replace('\n','').replace('\t','')[20:].split('Posse')[1][:5].split('%')[1]
all_stats_df = pd.DataFrame.from_dict(all_stats) championship_data = matches.merge(all_stats_df, on=['Em casa','Sem']) [/code] In diesem Dic BC gibt es viele Statistiken aus früheren Meisterschaftsjahren, FBref verfügt über alle diese Statistiken, nur in der Meisterschaft des aktuellen Jahres müssen nur 12 davon ausgefüllt werden. Ich beabsichtige, den Code in 5-6 verschiedenen Jahren auszuführen, also habe ich eine Version mit allen Statistiken erstellt, und in den Spielen des laufenden Jahres habe ich vor, mit nichts zu füllen, wenn es auf der Seite keine Statistiken gibt, die gelöscht werden könnten.
Ich versuche, die Standardstatistiktabelle für Spieler von dieser Seite abzurufen ( aber wenn ich darum bitte, mir die Tabellen zu besorgen, werden nur die Kaderstandardstatistiktabellen abgerufen....
Ich kann nicht verstehen, was diese Lookup -Funktion tut:
def lookup(d, key):
found = False
for child in d:
if found : return child.text
if child.tag == 'key' and child.text == key :
found = True...
Ich habe versucht, einige Daten für ein Datenanalyseprojekt zum italienischen Fußball zu sammeln. Leider kann ich eine bestimmte Tabelle nicht aus der Webseite extrahieren, obwohl die ID korrekt...
Ich habe gerade meine aktuelle Android-Anwendung aktualisiert, um Java 11 und die Build-Tools 32.0.0 zu verwenden.
Hier sind die Details zu Android Studio, die ich verwende
Android Studio Bumblebee...