피드로 돌아가기
How to Scrape Steam in 2026: Games, Reviews, Prices, and Player Data
Dev.toDev.to
Backend

How to Scrape Steam in 2026: Games, Reviews, Prices, and Player Data

Steam 공식 API와 HTML 스크래핑을 결합하여 게임 정보, 리뷰, 가격, 플레이어 데이터 수집 파이프라인 구축

agenthustler2026년 3월 26일12intermediate

Context

Steam은 70,000개 이상의 게임과 수백만 건의 사용자 리뷰, 실시간 플레이어 데이터를 보유한 세계 최대 PC 게임 플랫폼이지만, 공식 데이터 API가 제한적이어서 게임 분석 대시보드, 가격 추적, 인디 게임 시장 조사 등에 필요한 데이터 접근이 어렵다.

Technical Solution

  • Steam 비공식 JSON API 활용: /api/appdetails 엔드포인트에서 인증 없이 게임 메타데이터(제목, 장르, 태그, 출시일, 개발사, 출판사) 추출
  • 실시간 플레이어 수 수집: ISteamUserStats/GetNumberOfCurrentPlayers API를 300초 단위로 폴링하여 플레이어 수 변화 기록 및 JSON 파일로 영속화
  • 사용자 리뷰 페이지네이션 스크래핑: /appreviews 엔드포인트에서 커서 기반 페이지네이션으로 최대 100개 리뷰 배치 수집, 2초 딜레이로 레이트 제한 준수
  • 할인 상품 HTML 파싱: BeautifulSoup4와 lxml을 사용하여 Steam 세일 페이지에서 CSS 셀렉터(a.search_result_row, div.discount_pct)로 제목, 원가, 할인율 추출
  • 요청 헤더 및 쿠키 설정: User-Agent 헤더 및 birthtime 쿠키 추가로 성인 인증 리다이렉트 회피

Impact

아티클에 정량적 성능 수치가 기재되지 않음.

Key Takeaway

Steam 데이터 수집은 공식 JSON API를 우선 사용하고 구조화되지 않은 데이터는 선택적으로 HTML 스크래핑을 결합하되, 1~2초 요청 간격 준수와 메타데이터 24시간 캐싱으로 플랫폼 부하를 최소화하면서 신뢰성 있는 파이프라인을 구축할 수 있다.


게임 분석, 가격 추적, 또는 플레이어 통계 기반 서비스를 개발하는 팀에서 Steam 공식 API(`/api/appdetails`, `ISteamUserStats`)를 먼저 활용한 후, 리뷰나 할인 정보 같은 HTML 기반 데이터는 BeautifulSoup4로 선택적 스크래핑하되, 요청 간 2초 딜레이와 24시간 캐싱을 적용하면 API 레이트 제한을 준수하면서 실시간 데이터 품질을 유지할 수 있다.

원문 읽기
How to Scrape Steam in 2026: Games, Reviews, Prices, and Player Data | Devpick