실시간 nba선수 스탯 데이터를 추출하고 머신러닝 하여 내년의 기록을 예측하는 인공지는 만들 거에요.

믄져 데이터를 수르지브르 하브니다

https://www.basketball-reference.com/leagues/NBA_2023_per_game.html

여기 데이터 크롤링 합니다.

from urllib.request import urlopen
from bs4 import BeautifulSoup
import pandas as pd
all_stats = pd.DataFrame()

start_year = 2020
end_year = 2023

for year in range(start_year, end_year + 1):
    url = "<https://www.basketball-reference.com/leagues/NBA_{}_per_game.html>".format(year)
    html = urlopen(url)
    soup = BeautifulSoup(html, features="html.parser")

    # 헤더 추출
    headers = [th.getText() for th in soup.findAll('tr', limit=1)[0].findAll('th')]
    headers = headers[1:]

그리고 선수들의 스택을 저장해야 겠지요???

따로 저장되어있던 스택을 모아서 player_stats로 만들어야 겠지요???

rows = soup.findAll('tr')[1:]
player_stats = [[td.getText() for td in rows[i].findAll('td')] for i in range(len(rows))]

tr의 1은 헤더여서 빼고 findAll을 통해서 찾아서 rows로 넣어야 겠지요??

그리고 player_stats에 td에 텍스트를 추출하여 2차원 배열로 넣어야 겠지요???

년도를 넣어야 겠지요???

 stats = pd.DataFrame(player_stats, columns=headers)
 stats['Year'] = year

프레임 합쳐주고요

all_stats = pd.concat([all_stats, stats], ignore_index=True)