import python 3
from selenium import webdriver
import time
import csv
# CSV 파일 생성 및 헤더 작성
headers = ['game_date', 'game_place', 'home_name', 'away_name', 'x_spot', 'y_spot', 'ball_speed', 'ball_type', 'inning',
'referee', 'pitcher_name', 'pitcher_position', 'pitcher_team', 'hitter_name', 'hitter_position', 'hitter_team',
'judgment']
rows = []
# Chrome 웹 드라이버 경로 설정
driver_path = '경로를_입력하세요'
# Chrome 웹 드라이버 실행
driver = webdriver.Chrome(driver_path)
# 팀명을 스폰서 기업명으로 변환하는 함수
def convert_team_name(team):
if team == 'SK':
return 'SSG'
# 다른 팀명에 대한 변환 로직 추가
return team
# 2019~2023년도까지 크롤링
for year in range(2019, 2024):
# 각 연도별 페이지 접속
url = f'https://www.koreabaseball.com/Record/Player/PitcherBasic/Basic1.aspx?playerId=&teamId=0&gameType=0&dDs=1&nYear={year}'
driver.get(url)
time.sleep(3) # 페이지가 로딩되기까지 대기
# 테이블에서 데이터 추출
table = driver.find_element_by_css_selector('#cphContents_cphContents_cphContents_udpContent > table')
rows = table.find_elements_by_css_selector('tbody tr')
# 데이터 저장
for row in rows:
data = row.find_elements_by_css_selector('td')
game_date = data[0].text.split(' ')[0] # YYYY-MM-DD 형식으로 변환
game_place = data[1].text
home_name = convert_team_name(data[2].text)
away_name = convert_team_name(data[3].text)
x_spot = data[4].text
y_spot = data[5].text
ball_speed = data[6].text
ball_type = data[7].text
inning = data[8].text
referee = data[9].text
pitcher_name = data+.text
pitcher_position = data[11].text
pitcher_team = convert_team_name(data[12].text)
hitter_name = data[13].text
hitter_position = data[14].text
hitter_team = convert_team_name(data[15].text)
judgment = data[16].text
# 데이터를 피쳐 양식에 맞게 리스트에 추가
row_data = [game_date, game_place, home_name, away_name, x_spot, y_spot, ball_speed, ball_type, inning, referee, pitcher_name, pitcher_position, pitcher_team, hitter_name, hitter_position, hitter_team, judgment]
rows.append(row_data)
# CSV 파일로 저장
filename = 'kbo_pitcher_records.csv'
with open(filename, 'w', encoding='utf-8-sig', newline='') as file:
writer = csv.writer(file)
writer.writerow(headers)
writer.writerows(rows)
# 크롬 드라이버 종료
driver.quit()
코드는 이건데
이 오류나는데 왜이럼
Cell In[18], line 9
^ SyntaxError: invalid non-printable character U+200B
경로를 적어야지 한글 그대로 하면 어떠캐 ㅋㅋ
# Chrome 웹 드라이버 경로 설정 driver_path = '경로를_입력하세요'
경로를 내 pc로 해야하는거 맞지 \D 이런식으로?