본문 바로가기

전체 글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 기차표 매크로 예매 - (6) 아이디/비밀번호 저장하기 개발하면서 프로그램을 계속 껐다 켰다 반복하다보니, 매번 로그인하는게 너~~~무 귀찮다. 그래서 id&pw 저장하는 기능을 만들고 다음 스텝으로 넘어가려고 한다. json 형태로 파일을 떨어뜨릴거라, 계정이 pc에 저장되는 아주 위험한 작업이다..! 공용 컴퓨터에서 할 경우 개인계정이 노출될 수 있음을 주의하자! 나중에는 실행파일을 만들어서 배포할 예정이므로, db가 생성되는 경로를 다르게 만들어야 한다. def get_db_path(): try: # PyInstaller에 의해 임시폴더에서 실행될 경우 임시폴더로 접근하는 함수 # 한 단계 상위에 db를 생성해야 삭제되지 않음 return os.path.join(os.path.join(sys._MEIPASS, os.pardir), 'train_db.js.. 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.
SRT&KTX 기차표 매크로 예매 - (4) SRT 승차권 예매 마지막으로 승차권 예매를 해보자! 예매 request는 내용도 많고 복잡하지만... 침착하게 분석해보자 Body data를 분석하다보니, 입석+좌석이나 환승의 경우 데이터가 너무 복잡해서, 직행 열차만 다룬다. URL : https://etk.srail.kr/hpg/hra/01/checkUserInfo.do Method : Post Body Data rsvTpCd : 예약 타입 코드 (01 - 일반 예약, 05 - 대기) jobId : ??? (1101 - 일반 예약, 1102 - 대기) jrnyTpCd : [추정] 여행 타입 코드 - 항상 '11' jrnyCnt : [추정] 여정 개수 - 항상 '1' totPrnb : 총 탑승 인원 stndFlg : [추정] 입석 여부 - 항상 'N' trnOrdrNo.. 2024. 1. 9.