본문 바로가기
TIL

내배캠 TIL 1일차

by ColorConeHead 2023. 12. 30.
반응형

스파르타 코딩 캠프에 합류하여 오늘부터
TIL(Today I Learned)을 작성하기로 하였다.

사실 프로그래밍 언어를 공부하는 사람들이
블로그를 통해 공부한 내용을 적는 일은 흔함을 넘어서서
포폴로도 쓰이는 정도지만.

어떻게 시작해야 할 지를 모르겠었던 나에게는
시작하게 되는 좋은 계기가 되어 주었다.

나와 우리팀에게 주어진 첫 미니 프로젝트는
데이터 수집에 초점을 맞춘 데이터 분석이다.

튜터님께서도 전처리나 분석은 다음 단계이며
일단은 수집에 초점을 두라고 독려해주셨다.

팀원들의 공통적인 관심사는 "게임"이었고
고로 게임 데이터를 통해 데이터 분석이라는 것과
친해지는 것을 도모하였다.

캐글에서는 한국의 온라인 게임에 대한 데이터 중
사용할 수 있을 만한 데이터는 찾기 힘들었으며
비디오 게임 매출에 관한 데이터가 사용 가능해보였다.

하지만 자료가 2016년까지의 기록이었기에
이후의 최신 자료들을 크롤링하는 코드를 작성해보았다.

```
import re
import pandas as pd
import requests

game_name = []
game_score = []
game_platform = []

cnt = 1
while True:
    url = f'https://opencritic.com/browse/all/2017?page={cnt}'
    response = requests.get(url)
    text = response.content.decode("utf-8")
    source = re.findall(r'<app-root(.+)</span><!----><!----></div></div><!----></div><!----><!----></div>', text, re.DOTALL)



    long_name = re.findall(r'game/(.+?)</a>', source[0], re.DOTALL)
    score = re.findall(r'score col-auto"> (.+?) </div>',  source[0], re.DOTALL)
    platform = re.findall(r'platforms col-auto"> (.+?) </div>', source[0], re.DOTALL)

    print(platform)
    print(len(platform))
 #  for i in range(len(long_name)):
 #      game_name.append(long_name[i].split(">")[1])
 #      game_score.append(score[i])
 #      game_platform.append(platform[i])


 #  print(len(game_name))
 #  print(len(game_score))
 #  print(len(game_platform))

    break
```

너저분하고 각주처리도 안 되어있지만
노션과 슬랙 환경에 익숙해지지 않은 나에겐 최선이었다.

requests를 통해서 원하는 사이트의 소스코드를 긁어오고
re를 통해서 원하는 정보만 빼냈다.

위 코드는 2017년 발매된 게임을 점수 내림차순으로 정렬한
목록 중 첫 페이지에서 게임평점, 이름, 발매 플랫폼을 가져온 것이다.

리스트에 넣기 전에 잘 가져왔나 확인하느라
각주처리 한 것을 풀지도 못 했다.

velog에서 문단 여백 만드는 법도 잘 모르겠어서 가독성 최악이다.
다음 번에는 더 잘 작성하기를.

 

는 개뿔. 플랫폼 옮길거다 tistory로. velog 이유도 없이 글 포스팅이 안 된다.

열받아서 여기로 옮긴다 아직 글 많이 안 써서 오히려 다행일수도.

반응형

'TIL' 카테고리의 다른 글

내배캠 TIL 6일차  (0) 2023.12.30
내배캠 TIL 5일차  (0) 2023.12.30
내배캠 TIL 4일차  (1) 2023.12.30
내배캠 TIL 3일차  (1) 2023.12.30
내배캠 TIL 2일차  (0) 2023.12.30