본문 바로가기

프로젝트/SRT&KTX 매진표 예매14

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 기차표 매크로 예매 - (8) KTX 로그인 SRT 개발이 완료됐으니, KTX 예매 기능을 구현하자. SRT 로그인 기능 구현했던 글을 참조하여 빠르게 개발해보자. Session 받기 KTX 세션은 https://www.letskorail.com/ 에서 받는다. - callback 함수들은 ui와 연동하면서 필요하므로, 일단 주석처리하자. class KTX: def __init__(self): #, error_callback, try_callback): # self.error_callback = error_callback # self.try_callback = try_callback self.session = requests.Session() self.session.get("https://www.letskorail.com/") 로그인하기 KTX 로.. 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.