PSNProfiles.com의 특정 게임의 리더보드 데이터를 수집하고 필터링하며 가져온 테이블을 관리할 수 있는 GUI 기반의 데스크톱 애플리케이션입니다.
- 범위 지정 스크래핑: 원하는 순위 범위를 직접 지정하여 리더보드 데이터를 수집할 수 있습니다.
- 국가/ID 필터링: 수집된 데이터를 국가별 또는 특정 유저 ID로 즉시 필터링하여 볼 수 있습니다.
- 데이터 관리: 스크래핑한 데이터를 로컬 데이터베이스에 저장, 불러오기, 삭제하는 기능을 제공합니다.
- HTML 보고서 생성: 현재 테이블에 표시된 데이터를 깔끔한 디자인의 HTML 파일로 저장하여 공유하거나 보관할 수 있습니다.
- 분리된 로그 창: 별도의 창을 통해 데이터 수집 과정을 실시간으로 모니터링할 수 있습니다.
본 프로그램을 실행하기 위해서는 아래의 환경이 필요합니다.
-
Python 버전
- 이 프로그램은 Python 3.10 에서 개발되었습니다.
-
필수 라이브러리
undetected-chromedriver(v3.5.0)selenium(v4.11.2)beautifulsoup4(v4.12.2)
-
라이브러리 설치
- 아래 명령어를 복사하여 명령 프롬프트(CMD) 또는 PowerShell에 붙여넣기 하면 필요한 라이브러리가 한 번에 설치됩니다.
pip install undetected-chromedriver==3.5.0 selenium==4.11.2 beautifulsoup4==4.12.2
-
URL 입력 및 순위 설정
- PSNProfiles 사이트에서 원하는 게임의 리더보드 URL을 복사하여
URL입력창에 붙여넣습니다. 순위 범위에 수집하고 싶은 데이터의 시작 순위와 끝 순위를 입력합니다.조회버튼을 클릭하여 스크래핑을 시작합니다.- 크롬 브라우저 창이 스크래핑 작업을 위해 나타나며 완료되면 닫힙니다.
- 보안 체크는 수동으로 해줘야 합니다.
- PSNProfiles 사이트에서 원하는 게임의 리더보드 URL을 복사하여
-
데이터 조회 및 필터링
- 조회가 완료되면 데이터가 테이블에 표시됩니다.
국가드롭다운 메뉴나유저 ID입력창을 사용하여 원하는 데이터를 필터링할 수 있습니다.
-
데이터 관리 및 저장
테이블 저장버튼을 누르면 현재 조회된 전체 데이터가 프로그램 내부에 저장됩니다.저장된 데이터목록에서 이전에 저장한 데이터를 선택하고불러오기또는삭제할 수 있습니다.HTML로 저장버튼을 클릭하면 현재 테이블에 보이는 데이터를 HTML 파일로 깔끔하게 내보낼 수 있습니다.