파이썬과 selenium을 이용하여 인터파크 티켓팅 매크로 프로그램을 구현하였습니다.
구글링해보니, Interpark_Macro에 이미 구현이 되어있어서 이 코드를 참고하였습니다.
QT4로 UI를 구성하였고, 버튼을 누를 때 마다 각각의 동작을 수행하도록 만들었습니다. 인터파크 ID, PW, 생년월일 및 티켓팅할 URL은 파이썬 코드에 하드코딩하도록 하였습니다.
Requirements
구현한 코드는 Python3에서 동작하는 것을 확인하였고, 실행하려면 Chrome 및 Chrome driver가 설치되어 있어야 합니다.
중요한 것은 Chrome 버전과 동일한 Chrome driver를 설치해야 한다는 것입니다.
크롬을 설치했다면, 크롬 버전을 확인하는 방법은 [메뉴 -> Help -> About Google Chrome]에서 확인하는 것입니다.
버전을 알았다면, 그 다음으로 chromedriver 사이트에서 같은 버전의 driver를 다운받으면 됩니다.
다운받은 파일의 압축을 풀고 드라이버 파일 chromedriver
를 아래와 같은 위치에 copy합니다.
권한도 다음과 같이 변경해 줍니다.
$ sudo cp chromedriver /usr/local/bin/chromedriver
$ sudo chown root:root /usr/local/bin/chromedriver
$ sudo chmod 0755 /usr/local/bin/chromedriver
크롬과 드라이버를 설치했다면 거의 다 설치한 것입니다. pip로 QT4 등의 라이브러리를 모두 설치해주고 프로그램을 실행할 수 있습니다.
코드
제가 참고하여 구현한 소스는 GitHub - InterparkTicketMacro에 올려두었습니다.
공부 목적으로 만들었기 때문에, 티켓팅 속도에 중점을 두고 만들지 않았습니다. 코드의 대부분은 selenium으로 인터파크를 로그인을 하고, 특정 버튼을 찾아 티켓팅을 하는 내용입니다.
코드의 퀄리티는 좋지 않지만, 혹시 필요한 분이 있을지 몰라 공유하였습니다.
참고
Related Posts
- Python - Yaml 파일 파싱하는 방법
- Python - 파일 내용 삭제
- Python - for문에서 리스트 순회 중 요소 값 제거
- Python - 두 리스트에서 공통 요소 값 찾기
- Python - 문자열 앞(뒤)에 0으로 채우기
- Python - 공백으로 문자열 분리
- Python - 중첩 리스트 평탄화(1차원 리스트 변환)
- Python - 16진수 문자열을 Int로 변환
- Python - 두 날짜, 시간 비교
- Python f-string으로 변수 이름, 값 쉽게 출력 (변수명 = )
- Python - nonlocal과 global 사용 방법
- Python 바다코끼리 연산자 := 알아보기
- Python - pip와 requirements.txt로 패키지 관리
- Python - 딕셔너리 보기 좋게 출력 (pprint)
- Python - Requests 사용 방법 (GET/POST/PUT/PATCH/DELETE)
- Python - 온라인 컴파일러 사이트 추천
- Python - os.walk()를 사용하여 디렉토리, 파일 탐색
- Python - 문자열 비교 방법
- Python - Text 파일 읽고 쓰는 방법 (read, write, append)
- Python - 리스트에서 첫번째, 마지막 요소 가져오는 방법
- Python - 두개의 리스트 하나로 합치기
- Python - 리스트의 마지막 요소 제거
- Python - 리스트의 첫번째 요소 제거
- Python 소수점 버림, 4가지 방법
- Python 코드 안에서 버전 확인 방법
- Python 소수점 반올림, round() 예제
- Python - 리스트 평균 구하기, 3가지 방법
- Python - bytes를 String으로 변환하는 방법
- Python - String을 bytes로 변환하는 방법
- Python 버전 확인 방법 (터미널, cmd 명령어)
- Python - 람다(Lambda) 함수 사용 방법
- Python - dict 정렬 (Key, Value로 sorting)
- Python - range() 사용 방법 및 예제
- Python - 리스트를 문자열로 변환
- Python - 문자를 숫자로 변환 (String to Integer, Float)