티스토리 뷰
패치 내역은 공식 홈페이지의 패치 노트 페이지를 크롤링하면 대충 구할 수 있을 것 같았다.
그런데 제일 중요한 건 현재 라이브 서버 버전이다. 각 패치 버전별 변경 사항을 갖고 있어도 라이브 서버 버전을 모르면 사용자가 가장 원하는 "그래서 지금 누가 버프됐는데?"에 답할 수 없다.
패치 내역을 어디서 가져올까?
처음에는 롤 클라이언트 버전을 구하는 방법을 알아보려고 했다.
검색에 의하면 게임이 설치된 경로에서 롤 클라이언트 exe 파일의 버전이 현재 버전을 타나낸다고 해서 그것을 이용하려고 파이썬의 os모듈을 알아보다가, 어차피 내가 롤을 직접 업데이트해야 버전이 제대로 나타난다는 것을 깨달았다.
이 방법은 안되고, 롤 서버에서 최신 버전이 무엇인지 알아올 수 있으면 좋을 텐데 어떻게 하는지 모르겠다.
그래서 일단 찾은 방법은 롤 수동 패치를 제공하는 사이트(https://lol.garena.ph/download)에서 최신 버전을 가져오는 것인데, 이 사이트가 얼마나 빠르게 업데이트를 반영하는지 몰라서 임시 방편이다.
여기서 버전을 가져오는 것이 첫 번째 과제였다.
개발은 PyCharm에서 진행했다.
파이참은 깔아놓고 어떻게 쓰는지 몰라서 한동안 방치해뒀는데, 파이썬을 잘 몰라서 그랬다.
딱 기본 문법만 알고 나머지는 아무것도 몰라서, 점프 투 파이썬(https://wikidocs.net/book/1)을 참고해서 모르는 부분을 공부했다.
알고보니 내가 아는 부분은 딱 04장 까지였고, 05장 '파이썬 날개달기'에는 유용한 내용이 많았다.
파이썬에서의 클래스 사용법, 모듈과 패키지 만들고 불러오기, 쓸만한 내장/외장 함수들을 배웠다.
파이참 사용법도 간단히 알아보았다.
https://blog.jusun.org/archives/141
파이참은 외부 라이브러리도 Alt+Enter로 설치가 가능하더라. 정말 놀라웠다.
쓸데없는 말을 너무 많이 적은 것 같다.
해당 사이트에서 크롤링을 하려고 했는데 자바스크립트가 크롤링을 방해해서 셀레니움 웹 드라이버를 사용해야 했다.
파이썬으로 웹 크롤러 만들기 책을 포함한 꽤 많은 자료에서 PhantomJS를 이용했는데, PhantomJS는 더 이상 지원되지 않고 headless 크롬을 이용했다.
이 사이트가 도움이 되었다.
https://beomi.github.io/gb-crawling/posts/2017-09-28-HowToMakeWebCrawler-Headless-Chrome.html
추가로 오늘 알게 된 중요한 내용:
BeautifulSoup에서 children은 children[2]와 같은 형식으로 사용할 수 없는데('list_iterator' object is not subscriptable이라는 에러가 뜬다) 이 때는 contents[2]를 사용하면 된다. 자식들을 list로 반환한다. 당연히 인덱스는 0부터 시작
'반복 가능한 (값을 차례로 꺼낼 수 있는)'과 '인덱스로 접근할 수 있는'은 다른 이야기인가 보다. 이런 걸 마주칠 때마다 파이썬을 기본부터 공부해야 한다고 느낀다.
오늘의 코드: