위지원의 데이터 일기 🐈
Home
  • 분류 전체보기 (563)
    • ✎ 2025년 (4)
    • 2024년 (16)
    • 2023년 (6)
    • 2022년 (35)
      • Developement (22)
      • Error (9)
    • 2021년 (68)
      • ERROR (9)
      • 알고리즘 (11)
      • 개발공부 (21)
      • Data (15)
      • 21.下 (12)
    • 2020년 (164)
      • 코테 (84)
      • Development (29)
      • 정처기 (41)
    • 2019년 (27)
    • 2018년 (89)
      • English Speaking (8)
      • Error (12)
      • C, Java, FileSystem (13)
      • DataBase (15)
      • Java (2)
      • 지식 (16)
      • Go (3)
      • spark (9)
      • 영어 (5)
      • 알고리즘 (6)
    • 2017년 (143)
      • Error (17)
      • machine learning (16)
      • Spark (20)
      • Database (19)
      • Python (17)
      • Spring (9)
      • etc. (10)
      • 백준 (5)
      • Google Platform (12)
      • web Development (7)
      • Docker (3)
      • Linux (8)
Home
  • 분류 전체보기 (563)
    • ✎ 2025년 (4)
    • 2024년 (16)
    • 2023년 (6)
    • 2022년 (35)
      • Developement (22)
      • Error (9)
    • 2021년 (68)
      • ERROR (9)
      • 알고리즘 (11)
      • 개발공부 (21)
      • Data (15)
      • 21.下 (12)
    • 2020년 (164)
      • 코테 (84)
      • Development (29)
      • 정처기 (41)
    • 2019년 (27)
    • 2018년 (89)
      • English Speaking (8)
      • Error (12)
      • C, Java, FileSystem (13)
      • DataBase (15)
      • Java (2)
      • 지식 (16)
      • Go (3)
      • spark (9)
      • 영어 (5)
      • 알고리즘 (6)
    • 2017년 (143)
      • Error (17)
      • machine learning (16)
      • Spark (20)
      • Database (19)
      • Python (17)
      • Spring (9)
      • etc. (10)
      • 백준 (5)
      • Google Platform (12)
      • web Development (7)
      • Docker (3)
      • Linux (8)
블로그 내 검색
포트폴리오

위지원의 데이터 일기 🐈

데이터를 사랑하고 궁금해하는 기록쟁이입니다! 😉 Super Data Girl이 되는 그날까지🏃‍♀️ 화이팅!

  • 🖥 깃블로그
  • 🌍 위키원
  • 📑 내맘대로 스크랩
  • 💌 메일
  • 2021년/21.下

    Build a Steam Game Recomend Model (1/?) - 데이터 수집 경로 결정하기

    2021. 12. 8. 09:01

    by. 위지원

    얼마전 블프 때 스팀 게임을 대량으로 구매했다.. (하지는 못했다.. 게임을 사는 것도 게임이다..ㅠ;) 그러던 와중에 내가 스팀게임을 추천받는걸 만들어보면 어떨까? 라는 생각을 했다. 

    개인인 내가 얻을 수 있는 데이터 양이 한계가 있으므로 스팀 추천시스템보단 열악하겠지만 굉장히 재미있을 것 같아서 시작해보려 한다 :)

    우선 블로그에 글을 마구잡이로 작성한 뒤 성공하면 다시 정리하려한다!


    계획

    그냥 문득 아래처럼 끄적였다.

    고민할게 많았다. 

    1. 일단 얻을 수 있는 모든 데이터를 얻어야한다! steam api, scraping을 찾아내자.

    2. 데이터를 어디다가 저장할 것인가? 

        => 데이터의 양을 보고 결정하자

    3. 모델은 어떤걸 선택할 것인가? (모델을 하나만 쓸 것인가?)

        => 데이터의 형태를 보고 결정하자

    4. 시각화를 진행할 것인가?

        => 시간이 허락해준다면..

     

    아무튼 일단은 데이터를 먼저 확보하는게 급선무였다.

     


    DATA 확보하기

    api를 이용한 데이터 확보

    우선 기본적으로 아래가 필요하겠다.

    1. 게임 정보

    2. 게임 리뷰

    2. 추천 받을 유저의 정보(..다른 유저들의 정보를 이용할 수 있을지도..?)

     

    스팀은 아래와같이 Web API를 제공해주고 있다.

     

    Web API Overview (Steamworks Documentation)

    Documentation Resources News & Updates Support

    partner.steamgames.com

     

    1. 게임정보 

    우선 게임 id를 얻어내서 해당 id를 가지고 information을 가져오는 방식으로 해야할 것 같아서 게임 id부터 불러왔다. 

    아래 GetAppList를 쓸 수 있다. 

    https://api.steampowered.com/ISteamApps/GetAppList/v2

     

    테스트는 포스트맨으로 진행했다. 문제없이 잘 불러온다.

     

     

     

    requset로 받은 데이터의 크기를 보면 초반에 테스트로 있는 것들 제외하면 약 131,876건정도 된다.  

     

     

    2. id를 이용한 게임정보 get

    아래 api를 이용하면 id에 해당되는 게임 정보를 가져올 수 있다.

    https://store.steampowered.com/api/appdetails?appids=1476090

     

    * 아래처럼 끝에 language를 추가하면 한글로 결과를 returen 해준다! 😁

    https://store.steampowered.com/api/appdetails?appids=218620&l=korean 

     

    3. 리뷰

    아래 api를 이용하면 된다!

    http://store.steampowered.com/appreviews/10?json=1&cursor=AoIIPwYYanDTv%2BQB&l=korean

     

     

    4. 유저 정보 

    위에 보니까 유저 아이디를 알려주는데 혹시? 역시! 근데 이 api는 authrization key가 필요하다.

    https://partner.steamgames.com/doc/webapi/ISteamUser

     

    ISteamUser Interface (Steamworks Documentation)

    Documentation Resources News & Updates Support

    partner.steamgames.com

     

    키는 아래에서 발급 가능하다.

    https://steamcommunity.com/dev/apikey

     

    Sign In

     

    steamcommunity.com

     

     

    오호홋... 모든게 계획대로 잘되고 있다. 너무 기분이 좋다! :)

     

     

    우선은 이 정도의 정보로 진행해보려 한다 :) 데이터 수집 경로 define 완료! 

    나중에 추가로 얻을 수 있는 경로가 있다면 추가해야겠다 ㅎㅎ 우선은 이정도로만!

     

    유저정보에 대해서는 개인정보기때문에 아래 글을 좀 더 면밀히보고 사용해야겠다. ㅎㅎ

    우선은 게임데이터로만 !

    https://steamcommunity.com/dev/apiterms

     

    Steam Community :: Steam Web API Terms of Use

    1. Steam Web APIs. The Steam Web APIs are Valve's service allowing licensees to retrieve certain data regarding Steam and games available via Steam ("Steam Data"). The Steam Web APIs consist of multiple application program interfaces for retrieving various

    steamcommunity.com

     

    추가+

    아래에서 api 테스트를 진행할 수 있다. 왕편하다 ㅎㅎ

     

    Steam Web API Documentation

    An automatically generated list of Steam Web API interfaces, methods and parameters. Allows you to craft requests in the browser.

    steamapi.xpaw.me

     

    REFERENCES

    https://stackoverflow.com/questions/47601107/getting-all-reviews-from-a-steam-game-using-steamworks

    https://github.com/raghavjajodia/steamGameRec

    https://medium.com/@isabel.susan.joseph/steam-recommendation-system-5d40fe6a0e26

     

    저작자표시 (새창열림)

    '2021년 > 21.下' 카테고리의 다른 글

    Build a Steam Game Recomend Model (3/?) - 원핫인코딩  (0) 2021.12.27
    Build a Steam Game Recomend Model (2/?) - 단순 랭킹으로 추천하기  (0) 2021.12.14
    airflow 설치 기록용...  (0) 2021.11.05
    airflow log가 제대로 안나올 때  (1) 2021.11.05
    windows 10에서 ubutu 사용하기  (0) 2021.11.04

    잠깐만요~! 읽으신김에 이런 글들은 어떠세요? 👀

    • Build a Steam Game Recomend Model (3/?) - 원핫인코딩 2021.12.27
    • Build a Steam Game Recomend Model (2/?) - 단순 랭킹으로 추천하기 2021.12.14
    • airflow 설치 기록용... 2021.11.05
    • airflow log가 제대로 안나올 때 2021.11.05
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

열정! 열정! 열정! 🔥

Designed by Nana
블로그 이미지
위지원
데이터 엔지니어로 근무 중에 있으며 데이터와 관련된 일을 모두 좋아합니다!. 특히 ETL 부분에 관심이 가장 크며 데이터를 빛이나게 가공하는 일을 좋아한답니다 ✨

티스토리툴바

티스토리툴바