본문 바로가기

자동화10

SRT&KTX 기차표 매크로 예매 - (10) KTX 승차권 조회 KTX 기차표를 조회해보자. POST 요청의 Payload를 보면 데이터가 엄...청나게 많다. 불필요한 데이터가 많을 것 같으니, 천천히 분석해보자. 결과는 다음과 같다. 승차권 조회를 여러번 해보면서 찾은 결과 URL : https://www.letskorail.com/ebizprd/EbizPrdTicketPr21111_i1.do Method : POST Data Field selGoTrain : 기차 종류 (05 - 전체, 00 - KTX, 09 - ITX-청춘, 18 - ITX-마음, 02 - 무궁화, 03 - 통근열차) txtPsgFlg_1 : 성인 수 txtPsgFlg_2 : 어린이 수(만6~12세) txtPsgFlg_8 : 아기 수(만6세 미만) txtPsgFlg_3 : 노인 수 txtPsg.. 2024. 1. 15.
SRT&KTX 기차표 매크로 예매 - (9) KTX 역 리스트 조회 SRT에서 역 조회를 자동으로 해온것과 비슷하게, KTX역도 자동으로 불러오게 만들자. 기차표 조회창에서 역 변경을 누르면 기차역 리스트 팝업을 확인할 수 있다. 여기서 분홍표시된 역들이 KTX 정차역이다. 우리는 KTX가 아닌 일반 열차에는 관심이 없으므로, 이 역들만 뽑아내자. 소스코드를 보면 예쁘게도 KTX 정차역이 분리되어 나온다. class가 bg03이거나 title이 'KTX 정차역'인 리스트를 뽑으면 된다. title이 'KTX 정차역'인 리스트를 뽑으려 했는데.. 청량리역이 안잡혀서 클래스로 잡는다...(개발 상태가..) def fetch_stations(self): result = dict() try: res = self.session.get("https://www.letskorail.c.. 2024. 1. 15.
SRT&KTX 기차표 매크로 예매 - (7) 실행파일 만들기 (PyInstaller) 파이썬으로 만든 프로그램은 .py 파일을 실행해야 하고, 유저들은 PC에 파이썬이 깔려있어야만 실행할 수 있다(라이브러리도 다 깔려있어야하는건 덤...) 일반 유저들은 파이썬이 뭔지도 모를뿐더러, 파이썬을 깔라고 하더라도 실행에 많은 어려움을 겪는다. 그래서 배포할때는 프로그램을 실행파일로 배포해야만 한다. 지금까지 만든 프로그램을 실행파일로 만들어 배포해보자..! 파이썬으로 만든 프로그램을 배포하기 위해서 PyInstaller를 사용한다. PyInstaller로 Windows, macOS(OS X), GNU/Linux 등 다양한 플랫폼에서 실행파일을 생성할 수 있다. pip install pyinstaller pyInstaller 설치는 pip로 진행 pyinstaller에서 주로 사용하는 명령어는 아.. 2024. 1. 12.
SRT&KTX 기차표 매크로 예매 - (5) UI 만들기 (PyQt5) 기본적인 기능은 구현이 다 됐으나, 매 번 코드를 바꿔가며 예매하기는 힘드니 UI를 만들어보자. 우선은 실행파일로 제작하고 추후 웹을 구축해볼까 한다. Python 기반으로 제작되었기에 PyQT를 이용해서 UI를 제작한다. 속도를 위해 Qt Designer 툴을 이용하자. UI에 들어가야할 기능은 아래와 같다. SRT / KTX 선택 로그인 로그인 상태 확인 출발역, 도착역, 시간, 날짜, 시간, 인원 등 예매 관련 정보 예매 시작 버튼 ( = 중단 버튼) 예매 시도 주기 설정 에러 로그 창 예매 시도 상태 확인 창 Qt Designer를 이용하면 .ui파일로 나오는데, 결과물로 exe나 dmg 파일을 만들고 싶으므로 .py 확장자로 변경해준다. python -m PyQt5.uic.pyuic -x [변환.. 2024. 1. 12.