🏎️ 온라인 게임 'Kartrider'의 Timeattack 데이터를 수집하고 분석
:round_pushpin: Django
를 이용하여 랭킹 타임어택 데이터를 관리할 수 있는 홈페이지 제작
:round_pushpin: 유저의 닉네임과 채널명을 입력하여 csv 파일로 타임어택 데이터 수집
:round_pushpin: 작성된 csv 파일로 데이터를 분석하여 원하는 정보를 차트형태로 출력
📍 Programming Language : Python 3.7.4
📍 Frontend, Backend : Django 2.2.4
📍 Database : sqlite3
📍 Data Analysis : numpy 1.17.0
📍 Chart Library : matplotlib 3.1.1
📍 Development Enviornment : Windows 10
📍 Using Editor : Visual Studio Code
✔️ 소스 코드 clone 받기
git clone https://github.com/wally-wally/Analyzing_Kartrider_Ranking_Time_Attack_Info.git
✔️ 가상환경 설정
- Python 3.7 이상의 버전을 우선 설치하고 아래 명령어를 입력해주세요.
python -m venv venv
source venv/Scripts/activate
✔️ 필요한 라이브러리 패키지 설치
pip install -r requirements.txt
✔️ Database 설정
- sqlite3를 우선 설치하고 아래 명령어를 입력해주세요.
python manage.py makemigrations
python manage.py migrate
✔️ 로컬환경에서 서버 실행
python manage.py runserver
✔️ 메인 페이지로 이동
http://127.0.0.1:8000/data_pages/
- 유저 닉네임과 채널명을 선택한 후
Send
버튼을 누르면 카트라이더 내 차고 페이지에서 해당 유저의 랭킹 타임어택 데이터를 크롤링합니다. 데이터 수집이 완료되었습니다.
라는 문구가 나오면 성공적으로 크롤링한 데이터를 csv 파일로 저장했고 이 파일은 해당 프로젝트의 루트 디렉토리에 저장됩니다.- 만약 해당 채널(ex.
S1
)에서 랭킹 타임어택을 진행하지 않은 경우S1의 타임어택을 진행하지 않았습니다.
라는 문구가 나오고 유저 닉네임이 존재하지 않으면OOO님의 라이더 정보가 없습니다.
라는 문구가 나옵니다.
- 타임어택에서 사용된 차량의 비율(파이 차트)
- 타임어택 순위 분포도(막대 그래프)
- 유저 닉네임과 채널명 그리고 보고 싶은 데이터의 유형을 선택한 후
Send
버튼을 클릭하면Data Storage
페이지로 이동됩니다. - 그 후
DETAIL
버튼을 클릭하면 분석된 차트 정보를 볼 수 있습니다. - 참고로 타임어택 순위 분포도는 순위 간격을 지정해줘야 하기 때문에
rank interval
항목을 꼭 입력해줘야 합니다. - 그리고 데이터 분석은 데이터 수집이 완료된 항목에 대해서만 가능하지 이점 유의하시기 바랍니다!
- ABC님의 S2 채널 랭킹 타임어택 데이터를 수집한 경우 ABC님의 S2 채널 데이터 분석 가능하지만 S1 채널 데이터는 수집하지 않았기 때문에 S1 채널의 데이터 분석은 불가능