티스토리 뷰

패치 내역은 공식 홈페이지의 패치 노트 페이지를 크롤링하면 대충 구할 수 있을 것 같았다.

그런데 제일 중요한 건 현재 라이브 서버 버전이다. 각 패치 버전별 변경 사항을 갖고 있어도 라이브 서버 버전을 모르면 사용자가 가장 원하는 "그래서 지금 누가 버프됐는데?"에 답할 수 없다.

패치 내역을 어디서 가져올까?

처음에는 롤 클라이언트 버전을 구하는 방법을 알아보려고 했다.

검색에 의하면 게임이 설치된 경로에서 롤 클라이언트 exe 파일의 버전이 현재 버전을 타나낸다고 해서 그것을 이용하려고 파이썬의 os모듈을 알아보다가, 어차피 내가 롤을 직접 업데이트해야 버전이 제대로 나타난다는 것을 깨달았다.

이 방법은 안되고, 롤 서버에서 최신 버전이 무엇인지 알아올 수 있으면 좋을 텐데 어떻게 하는지 모르겠다.

그래서 일단 찾은 방법은 롤 수동 패치를 제공하는 사이트(https://lol.garena.ph/download)에서 최신 버전을 가져오는 것인데, 이 사이트가 얼마나 빠르게 업데이트를 반영하는지 몰라서 임시 방편이다.

수동 패치 버전

여기서 버전을 가져오는 것이 첫 번째 과제였다.

개발은 PyCharm에서 진행했다.

파이참은 깔아놓고 어떻게 쓰는지 몰라서 한동안 방치해뒀는데, 파이썬을 잘 몰라서 그랬다.

딱 기본 문법만 알고 나머지는 아무것도 몰라서, 점프 투 파이썬(https://wikidocs.net/book/1)을 참고해서 모르는 부분을 공부했다.

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

알고보니 내가 아는 부분은 딱 04장 까지였고, 05장 '파이썬 날개달기'에는 유용한 내용이 많았다.

파이썬에서의 클래스 사용법, 모듈과 패키지 만들고 불러오기, 쓸만한 내장/외장 함수들을 배웠다.

파이참 사용법도 간단히 알아보았다.

https://blog.jusun.org/archives/141

 

PyCharm 개발환경 설정 – Jusun Blog

안녕하세요. 주선입니다. … 라고 인사하기에는 제 블로그라서 -_- 너무 오랜만에 글을 적네욥… Python을 이용한 개발시에 유용할 것 같아서 기록해둡니다. 1.Python 설치 우선 Python은 설치되어있어야합니다. 2.7 대와 3.6대 2가지 있습니다만.. 취양에 따라서 설치하시고, 툴을 사용시에 프로젝트에 따라 고를 수 있음으로 둘다 설치하셔도 무방합니다. 제가 알기로는 두 버전의 차이는 사용할 수 있는 라이브러리가 한정되어있음으로 목적에 따라서

blog.jusun.org

파이참은 외부 라이브러리도 Alt+Enter로 설치가 가능하더라. 정말 놀라웠다.

Alt+Enter로 자동으로 설치된 라이브러리들

쓸데없는 말을 너무 많이 적은 것 같다.

해당 사이트에서 크롤링을 하려고 했는데 자바스크립트가 크롤링을 방해해서 셀레니움 웹 드라이버를 사용해야 했다.

파이썬으로 웹 크롤러 만들기 책을 포함한 꽤 많은 자료에서 PhantomJS를 이용했는데, PhantomJS는 더 이상 지원되지 않고 headless 크롬을 이용했다.

이 사이트가 도움이 되었다.

https://beomi.github.io/gb-crawling/posts/2017-09-28-HowToMakeWebCrawler-Headless-Chrome.html

 

Headless 크롬으로 크롤링하기 · GitBook

Headless라는 용어는 '창이 없는'과 같다고 이해하시면 됩니다. 여러분이 브라우저(크롬 등)을 이용해 인터넷을 브라우징 할 때 기본적으로 창이 뜨고 HTML파일을 불러오고, CSS파일을 불러와 어떤 내용을 화면에 그러야 할지 계산을 하는 작업을 브라우저가 자동으로 진행해줍니다. 하지만 이와같은 방식을 사용할 경우 사용하는 운영체제에 따라 크롬이 실행이 될 수도, 실행이 되지 않을 수도 있습니다. 예를들어 우분투 서버와 같은 OS에서는 '화면' 자체가

beomi.github.io

추가로 오늘 알게 된 중요한 내용:

BeautifulSoup에서 children은 children[2]와 같은 형식으로 사용할 수 없는데('list_iterator' object is not subscriptable이라는 에러가 뜬다) 이 때는 contents[2]를 사용하면 된다. 자식들을 list로 반환한다. 당연히 인덱스는 0부터 시작

'반복 가능한 (값을 차례로 꺼낼 수 있는)'과 '인덱스로 접근할 수 있는'은 다른 이야기인가 보다. 이런 걸 마주칠 때마다 파이썬을 기본부터 공부해야 한다고 느낀다.

https://stackoverflow.com/questions/50703496/python-beautifulsoup-list-iterator-object-is-not-subscriptable

오늘의 코드:

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함