본문 바로가기
coding()

[개발 일기] 밀린싸강 모아보기 프로그램(SSWUc) 개발 일기

by SiO2whocode 2020. 8. 3.
반응형

(어마무시하게 긴 서론)

지난 학기가 전면 온라인 원격수업으로 대체되면서 교육시스템에 업로드되는 강의를 시청하여

시청시간이 영상시간 만큼 되면 출석으로 확인되는 시스템이 적용됐었다.

 

교수님들 마다 달랐지만 대부분 영상시청이 출석으로 인정되는 기간이 정해져있었다.(대부분 일주일)

나를 비롯한 주변에 많은 동기들이 온라인강의 시청을 미루게 되고 그러다가 출석기간을 놓쳐버리기도 해서

내가 지금 무슨 강의를 얼마나 안들었고 또 언제까지 들어야 하는지 알려주는(모아보는) 프로그램이 있으면

정말 좋겠다고 생각했을거다.(아마?)

 

사실 매번 조금 번거럽다고 생각하기는 했지만 아 너무 불편하다. 하면서 만들기 시작한건 아니고

타대학교 컴공에서 이런 프로그램을 만든 사례를 봤다.

그래서 거기서 온 자존심..?때문에 아 우리도 만들어. 하고 이틀만에 만든거다.

 

메모장에 4월 15일 오전 1시 46분 개발 시작 - 4월 16일 오전 5시 15분 프로그램 개발 완료

라고 적혀있다.

 

사실 내 컴퓨터에서 돌아가는 코드를 작성하는건 하루정도 밖에 안걸렸지만 (물론 중간에 잠도 자고..다른 것도 이것저것 했다..)

이후에 다른사용자 컴퓨터에서도 돌아가게 하기 위한 작업에 시간이 꽤 걸렸다.

 

해결하지 못한 2가지 정도의 결점을 갖고 4월 28일 새벽에 겨우겨우 배포했다.(윈도우) 4월29일(맥)

 

프로그램요약하자면

크롬 웹크롤링으로 웹상의 데이터를 파싱해와서 데이터를 선택적으로 출력해주는 프로그램이다.

언어는 파이썬을 사용했고, 크롬 웹드라이버를 사용한다.(프로그램도 크롬 웹드라이버가 있어야 사용가능)

selenium이라는 주로 웹앱을 테스트하는데에 사용하는 웹 프레임워크를 사용했다.

특정 데이터를 추출해올 때, 특정 페이지에 접근할 때, 클릭할 때, 페이지가 로딩되는 것을 기다릴 때 사용된다.

 

코드 자체는 그렇게 길지 않은데 만들때 자잘하게 찾고 처리할게 많아서 조금 고생했다.

 

해결하지 못한 결점은 윈도우에서 하나 맥에서 하나인데

윈도우에서는 headless 그러니까 웹크롤링이 진행될때 크롬창을 띄우지 않고 프로그램이 작동할 수 있게 하는 옵션인데

이걸 적용시키면 garbage 데이터가 왕창 추가된 채로 출력된다. sync문제였던 것 같은데.. 암튼

그래서 최대한 화면의 크기를 줄여서 띄워지게 했다..

 

맥에서는 프로그램을 클릭해서 실행하는게 안됐다. (치명적..)

크롬 웹드라이버 때문인데 크롬드라이버와 프로그램이 같은 폴더에 있어야 작동하는데

맥에서 실행파일을 그냥 실행시키면 cwd가 그 실행파일이 속해있는 폴더가 아니라 ~(사용자 홈 디렉토리)가 된다.

그래서 크롬드라이버를 못찾음.. 어쩔 수 없이 cmd창을 열어서 cd로 디렉토리를 이 프로그램과 크롬드라이버가 있는 폴더로 이동한 다음

프로그램을 실행해야했다. (나도 이렇게 사용하는 중)

 

두 문제 모두 출력이 터미널창이 아니라 GUI를 구현해서 실행되게 했으면

해결되는 문제였는데 잘 몰라서 시간이 걸릴 것 같아 빨리 배포하고 싶은 마음에 그냥 배포했다.

그런데도 반응이 너무 좋아서 댓글들에 감동받고 자존감 업됐다..!

수정이들 최고💕

 

여기까지 사담 70% 개발 내용 30%인 첫 개발 일기 끝!!!!

미루고 미루다 여름방학때 올리는 개발일기..

 

코드는 깃허브에 올려뒀습니다!!! 다들 감사해요!!!!

https://github.com/hello-SiOO/SSWUc

 

hello-SiOO/SSWUc

밀린싸강 모아보기 프로그램. Contribute to hello-SiOO/SSWUc development by creating an account on GitHub.

github.com

 

반응형

댓글0