kbo-data๋ ํ๊ตญํ๋ก์ผ๊ตฌ ๊ฒฝ๊ธฐ์ ๋ณด๋ฅผ ์คํฌ๋ํํ๋ ํ์ด์ฌ ํจํค์ง์
๋๋ค.
kbo-data is a Python package that provides Korean professional baseball game information by scraping.
์ด ํจํค์ง๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ chrome driver๊ฐ ํ์ํฉ๋๋ค. chrome driver๋ ํด๋น ํ์ด์ง์์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค.
This package is required chrome driver. You can download it from this page
๋จผ์ ํจํค์ง๋ฅผ ์ค์นํฉ๋๋ค.
you have to install kbodata package first.
pip install kbodata
์ํ๋ ๋ ์ง์ ๊ฒฝ๊ธฐ ์ค์ผ์ฅด์ ๋ค์ด๋ก๋ ๋ฐ์ต๋๋ค.
you can download KBO match schedule that you want to get.
import kbodata
# 2021๋
4์ 20์ผ์ KBO ๊ฒฝ๊ธฐ ์ค์ผ์ฅด์ ๊ฐ์ ธ์ต๋๋ค.
# Get the KBO match schedule for April 20, 2021.
>>> day = kbodata.get_daily_schedule(2021,4,20,'chromedriver_path')
# 2021๋
4์ KBO ๊ฒฝ๊ธฐ ์ค์ผ์ฅด์ ๊ฐ์ ธ์ต๋๋ค.
# Get the KBO match schedule for April 2021.
>>> month = kbodata.get_monthly_schedule(2021,4,'chromedriver_path')
# 2021๋
KBO ๊ฒฝ๊ธฐ ์ค์ผ์ฅด์ ๊ฐ์ ธ์ต๋๋ค.
# Get the KBO match schedule for 2021.
>>> year = kbodata.get_yearly_schedule(2021,'chromedriver_path')
ํด๋น ์ค์ผ์ฅด์ ๋ฐํ์ผ๋ก ๊ฒฝ๊ธฐ ์ ๋ณด๋ฅผ JSON ํ์์ผ๋ก ๊ฐ์ ธ์ต๋๋ค.
It will be broght match information in JSON format based on the schedule.
# 2021๋
4์ 20์ผ์ KBO ๊ฒฝ๊ธฐ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
# Get the KBO match information for April 20, 2021.
>>> day_data = kbodata.get_game_data(day,'chromedriver_path')
# 2021๋
4์ KBO ๊ฒฝ๊ธฐ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
# Get the KBO match information for April 2021.
>>> month_data = kbodata.get_game_data(month,'chromedriver_path')
# 2021๋
KBO ๊ฒฝ๊ธฐ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
# Get the KBO match information for 2021.
>>> year_data = kbodata.get_game_data(year,'chromedriver_path')
JSON ํ์์ ์๋์ ๊ฐ์ต๋๋ค.
The JSON format is as below.
{ id: date_gameid,
contents: {
'scoreboard': []
'ETC_info': {}
'away_batter': []
'home_batter': []
'away_pitcher': []
'home_pitcher': []
}
}
๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ค์ ํน์ ํ์ผ ํ์
์ผ๋ก ๋ณํํฉ๋๋ค. ์ง์ํ๋ ํ์ผ ํ์
์ ์๋์ ๊ฐ์ต๋๋ค.
This module converts data into specific file types. The supported file types are as follows.
- DataFrame(pandas)
- Dict
# ํ ๊ฒฝ๊ธฐ ์ ๋ณด๋ง์ ์ ๋ฆฌํ์ฌ DataFrame์ผ๋ก ๋ณํํฉ๋๋ค.
scoreboard = kbodata.scoreboard_to_DataFrame(day_data)
# ํ์ ์ ๋ณด๋ง์ ์ ๋ฆฌํ์ฌ DataFrame์ผ๋ก ๋ณํํฉ๋๋ค.
batter = kbodata.batter_to_DataFrame(day_data)
# ํฌ์ ์ ๋ณด๋ง์ ์ ๋ฆฌํ์ฌ DataFrame์ผ๋ก ๋ณํํฉ๋๋ค.
pitcher = kbodata.pitcher_to_DataFrame(day_data)
# ํ ๊ฒฝ๊ธฐ ์ ๋ณด๋ง์ ์ ๋ฆฌํ์ฌ Dict์ผ๋ก ๋ณํํฉ๋๋ค.
scoreboard = kbodata.scoreboard_to_Dict(day_data)
# ํ์ ์ ๋ณด๋ง์ ์ ๋ฆฌํ์ฌ Dict์ผ๋ก ๋ณํํฉ๋๋ค.
batter = kbodata.batter_to_Dict(day_data)
# ํฌ์ ์ ๋ณด๋ง์ ์ ๋ฆฌํ์ฌ Dict์ผ๋ก ๋ณํํฉ๋๋ค.
pitcher = kbodata.pitcher_to_Dict(day_data)
๋ณํ๋ ๋ฐ์ดํฐ์ ๋ํ ์ ๋ณด๋ ์๋์ ๋งํฌ์์ ํ์ธํ ์ ์์ต๋๋ค.
You can find information about the converted data at the link below.
- Scoreboard: https://github.com/Hyeonji-Ryu/kbo-data/blob/main/docs/scoreboard.md
- Batter: https://github.com/Hyeonji-Ryu/kbo-data/blob/main/docs/batter.md
- Pitcher: https://github.com/Hyeonji-Ryu/kbo-data/blob/main/docs/pitcher.md
KBO ๊ณต์ ํํ์ด์ง์ ์๋ ๋ฐ์ดํฐ๋ ์ ๊ณต๋์ง ์์ต๋๋ค. ๋ฐ์ดํฐ๊ฐ ์ ๊ณต๋์ง ์๋ ๊ฒฝ๊ธฐ ์ ๋ณด๋ ์๋์ ๊ฐ์ต๋๋ค.
Data that is not on the KBO official website is not provided. Match information for which data is not provided are listed below.
- 2008-03-30 LTHH0
- 2009-04-04 WOLT0
- 2010-03-20 OBLT0
- 2010-03-20 WOSS0
- 2015-07-08 HTWO0
- 2018-08-01 WOSK0
- 2013-03-09
- 2013-03-10
- 2013-03-11
- 2013-03-12
- 2013-03-13
- 2013-03-14
- 2013-03-15
- 2013-03-16
- 2013-03-17
- 2013-03-18
- 2013-03-19
- 2013-03-20