본문 바로가기

ktx8

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 기차표 매크로 예매 - (1) 계획 및 목표 지방 출장이 잦은 탓에 SRT나 KTX를 자주 이용한다. SRT는 매진되는 경우가 많아서, selenium으로 매크로를 만들어서 유용하게 쓰고 있었는데, 요즘 경쟁이 빡세졌는지 예매를 실패하는 경우가 잦아지는 느낌이다.. 셀레니움 기반 매크로가 필요한 분들은 아래 깃헙으로 고고 GitHub - dhgwag/srt_reservation Contribute to dhgwag/srt_reservation development by creating an account on GitHub. github.com 셀레니움으로 만든 매크로의 경우, 돌아가는 상황을 두눈으로 볼 수 있기 때문에 꽤 직관적이라는 장점이 존재한다. 그러나 웹페이지를 렌더링해야만 다음 스텝으로 넘어가기 때문에, 동시에 느리다는 단점을 가지고 있.. 2024. 1. 8.