본문 바로가기

분류 전체보기15

Python Selenium ChromeDriver 렌더링/로딩 느린 현상 해결(Mac Apple Silicon M1/M2/M3) M1 Mac에서 selenium으로 개발을 하면서 정말 답답한 현상이 생겼다. 정상적인 크롬 렌더링 속도는 아래와 같다. 그런데 selenium으로 chromedriver를 실행하기만 하면 네이버 홈페이지를 렌더링하는데 거의 40초 이상이 걸리는 문제가 있었다. 처음에는 그냥 하다가...너무너무 답답해서 이걸 먼저 해결하기 위해 구글링을 좀 해봤다. chromedriver도 다시 깔아보고 별의별짓을 다 해봤는데, 결론은 python의 target architecture 문제였다. 실행된 chrome에서 설정->Chrome 정보 에 들어가보면 (arm64)라고 표시되어야 정상이다.(M1~M3 기준) 그런데 문제가 있는 브라우저에서는 x86_64라고 표시되고 있었고, Apple Silicon에 맞게끔 코드가.. 2024. 1. 17.
SRT&KTX 기차표 매크로 예매 - (14) 텔레그램, 이메일 환경설정 UI 이번 프로젝트의 개발 내용으로 마지막이 될 글이다:) 텔레그램과 이메일 등 환경설정을 넣을 수 있는 UI를 만들어보자. Qt Designer에서 아래와 같이 환경설정 tab을 하나 더 만들고 UI를 구성하자. 환경설정 관련된 main.py 코드는 아래와 같다 (뒤쪽 예매파트는 생략) class UiMainClass(QDialog): def __init__(self): self.max_error_log = 20 self.max_try_log = 100 self.srt = SRT(self.error_callback, self.srt_try_callback) self.srt_stations = self.srt.get_stations() self.srt_thread = None self.srt_radiobutt.. 2024. 1. 17.
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 기차표 매크로 예매 - (12) 예매시 텔레그램 알림 보내기(python-telegram-bot) 지금까지 만든 예매 프로그램의 최대 단점은 예매가 되더라도 제한된 시간 내에 결제를 해야만 한다는 점이다. 매진표 예매를 돌리고 하루종일 쳐다볼 수도 없는 노릇이고, 이럴때 알림 서비스가 필요하다. 카카오톡이나 문자가 제일 좋지만 돈이 들어가는 관계로, 무료로 사용가능한 텔레그램과 이메일로만 구현하고자 한다. 이번 글에서 텔레그램 기능을 만들고, 다음 글에서 이메일 기능을 만들어보자. python에서 텔레그램 메세지를 보내기 위해서 python-telegram-bot을 설치한다. pip install python-telegram-bot 텔레그램 메세지를 보내려면, bot을 만들어서 token을 발행받고 개인의 chatId가 필요하다. 이건 다른 블로그에서 많이 소개하고 있으니, 아래 블로그를 참고해서 만.. 2024. 1. 17.