-
engoo selenium 수업 자동 예약하기 코드 버전컴퓨럴/후로그람스 2017. 9. 23. 18:37
Engoo는 보통 전화영어 회사와 달리 매일 직접 수업 예약을 해줘야한다. 회사 입장에서는 좋은 선생님을 한 학생이 선점하고 있다면 공정한 기회를 줄 수 없다고 생각했겠지만 매일 사이트에 들어가서 예약을 해야하는건 정말 귀찮은 일이다. 예약을 까먹어서 수업을 놓친 것도 한두번이 아니다.
그래서 Selenium을 이용해서 컴퓨터를 켤때마다 혹은 정해진 시간에 예약되는 프로그램을 Python으로 만들었다. 이 프로그램은 지정한 시간에 수업을 듣고싶은 선생님의 리스트를 지정해 놓으면 자동으로 예약을 해준다. 컴퓨터가 하루에 한번은 켜는 일이 있어야 한다는 제약이 있다. 작업을 자동으로 실행하기 위해 작업스케줄러가 필요하니 윈도우 사용자가 사용할 수 있다.
처음 설치하기에는 좀 귀찮은게 있지만 깔고나면 정말 편하다!
1. 설치방법
- 먼저 준비해야할 프로그램 - python3, chrome seleniumpython3는 기본적으로 https://www.python.org/downloads/에서 다운로드 받을수 있을 것이다.
Selenium은 https://sites.google.com/a/chromium.org/chromedriver/downloads 에서 Latest Release를 클릭하고 자기OS에 맞는 프로그램을 다운로드 하면된다.
- auto_engoo 다운로드하기
https://github.com/dizwe/engoo-automatic-reservation 깃허브에서 zip파일을 다운받고 압축을 풀면 된다.Download ZIP 하면 된다.
2. 코드 조금 수정하기
자신의 컴퓨터에서 사용하기 위해서 수정해야할 부분이 3가지 있다.- 첫번째, selenium path 지정하기
Selenium 파일이 들어있는 부분이 컴퓨터마다 다르므로 수정해줘야한다.
chrome=webdriver.Chrome(r'chromedriver.exe가 있는 path')
다운받았던 chromeSelenium에서 chromedriver.exe가 있는 path를 찾는다. 나는
r'C:\Python35\selenium\webdriver\chromedriver\chromedriver.exe'
로 설정했다.
파일 오른쪽 클릭을 하면 위치를 바로 복사할 수 있다.
- 두번째, reservation_info.json를 수정한다.json파일은 txt파일로 열거나 다른 editor파일로 열면 수정가능하다.
{"teacher_num":["선생님","번호","11775"],
"reserve_time":"07-30",
"class_holiday":"False",
"send_to":"메일주소"}
teacher_num은 engoo 사이트에서 선생님 프로필을 누르면 https://engoo.co.kr/teachers/4621같은 url주소가 뜨는데 그 뒷부분이 선생님 번호다. 리스트를 사용하여 입력하면 먼저 적은 선생님이 우선 예약된다.
reserve_time 안의 값은 오후 10시에 수업하면 "22-00" 이런 방식으로 적으면 된다.
class_holiday는 매일권을 가졌다면 True(T대문자), 평일권을 가졌다면 False(F대문자)를 적는다. True라면 주말에도 수업이 예약된다.
send_to에 메일주소를 적으면 수업예약이 실패했을때 메일을 보내준다. 사용하고싶지 않다면 ""로 비워두자.
- 세번째, id_pass.json을 수정한다
{"engoo":{"id" : "engoo아이디", "password" : "engoo 비밀번호"},
"gmail":{"id" : "지메일아이디", "password" : "지메일비밀번호"}}
이부분은 개인정보 파일이니 혼자 꼭 가지고 있어야한다. 아이디와 비밀번호를 입력한다.
예약할 수있는 선생님이 없을때 메일을 받고 싶으면 지메일아이디가 필요하다. 지메일 아이디는 메일을 보내는 기준이 되는 메일이다. 아이디와 비밀번호를 입력하는데 https://myaccount.google.com/lesssecureapps?pli=1 에서 보안수준이 낮은 앱을 허용해야한다.
3. 작업스케줄러(Trigger) 지정하기
여기까지 실행했다면 이건 간단하다! 이 설명은 http://fnmj.tistory.com/19 링크가 더 잘 설명해주는 듯 하므로 이걸로 대체한다.
참고로 python.exe를 사용하는것도 좋지만 pythonw.exe를 사용하면 코드가 끝나면 자동으로 python command line이 꺼진다.
더하기. 이글도 아무도 안읽겠지만 더 아무도 안읽을 것 같은
engoo 수업 selenium으로 자동 예약 만들기 시행착오들을 쓴 글도 있다.
exe 버전으로 만든
Selenium으로 engoo 수업 자동으로 예약하기 글도 있다
'컴퓨럴 > 후로그람스' 카테고리의 다른 글
AI 아이돌 교차편집 프로그램 (0) 2020.11.01 코골이 감지 안드로이드 어플리케이션 만들기 (0) 2020.09.30 FittingCal : 키, 몸무게, 간단한 질문으로 옷 핏 추측하기 (1) 2017.09.15 FittingCal 만들기 : 종이 한 장이 불러온 나비효과 (2) 2017.09.15 Selenium으로 engoo 수업 자동으로 예약하기 (2) 2017.04.12