본문 바로가기
Project/피파온라인4 데이터 분석 프로젝트

피파온라인4 API 활용 데이터 분석 프로젝트(2)

by 호찌민 2021. 1. 19.

 넥슨 개발자센터 피파온라인4 API를 활용한 데이터 로딩, 로딩 중 에러 발생 원인과 해결책, 그리고 주의할 점을 기록하려 한다. 현재, 유저 정보 API를 활용해 유저 정보 데이터, 역대 최고 등급 데이터, 매치 기록 데이터, 매치 상세 기록 데이터를 로딩을 완료하여 Pandas의 DataFrame 형태로 만들었다.

 

[데이터 부르기]

 아래와 같은 순서대로 진행한다.

 

  1. 넥슨 개발자센터에서 api_key를 발급받는다.
  2. request 패키지를 활용하여 넥슨에서 제공해주는 API 정보를 호출한다.
  3. 2번에서 호출한 값을 json 형태로 바꾼다.
  4. 데이터프레임 형태로 변경한다.

 위의 순서를 통해 유저의 닉네임으로 유저 고유 식별자 및 유저 정보를 호출해보고 데이터 셋을 만들어보자.

 

<유저 정보 조회 API 정보>

headers = {'Authorization' : api_key}
user_params = {'nickname' : 'HOJJIMIN'} # 피파온라인4 닉네임
user_info_url = requests.get('https://api.nexon.co.kr/fifaonline4/v1.0/users?', \
                             params = user_params, headers = headers)
user_parsed_data = user_info_url.json()
user_info_data = pd.DataFrame(user_parsed_data, index = [0])
user_info_data

<나의 피파온라인4 유저 정보>

 나의 피파온라인4 닉네임을 활용하여 유저 고유 식별자 및 유저 정보를 호출한 데이터를 만들 수 있었다. accessId의 값은 유저ID 고유 식별자로 다른 API 정보를 활용할 때 꼭 필요한 값이기 때문에 따로 저장해두는 것을 추천한다.

 

<주의할 점>

  • request 함수를 활용한 url호출 시 발급 받은 api_key를 headers에 꼭 지정해주어야 한다. 넥슨 개발자센터 이용가이드에 명시되어있다.
  • 데이터 프레임을 만들 때 index를 지정해주지 않으면, If using all scalar values, you must pass an index 와 같은 에러가 발생한다. Pandas의 DataFrame함수 속 인덱스 인자를 리스트 형태로 지정해주면 된다. API 정보에 따라 json 파일 형태 속 인덱스 길이가 다르므로 꼭 인덱스를 확인하고 지정해줄 필요가 있다.