본문 바로가기

pyqt4

SRT&KTX 기차표 매크로 예매 - (13) 예매시 이메일 보내기(smtplib, email) 이제 이메일을 보내보자. 모든 이메일 서버를 지원하기에는 공수가 많이 들어가니 가장 많이 사용하는 gmail로 발신 서버를 제한한다. python에서 gmail을 보내려면 사전 세팅이 좀 필요한데, 아래 블로그를 참고하여 준비하자. Python으로 Gmail 보내기 나름의 이유로 시스템에서 메일을 보내야할 일이 있는데, 이왕이면 Gmail을 이용해보고 싶어서 살펴보기로 했다. 일단 Gmail을 통해 이메일을 보내기 위해서 미리 셋팅을 해줘야 할 것이 있다. Gmail www.whatwant.com 콜백 함수까지 포함해서 코드를 완성하면 아래와 같다. import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text impo.. 2024. 1. 17.
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.