파이썬 프로젝트 및 응용/옥션 최저가 항공티켓으로 제주도 여행가기

(프로젝트) 옥션 최저가 항공티켓으로 제주도 여행가기 - 0. 소개

파기차차 2023. 2. 23. 09:40
728x90
반응형
SMALL
728x90
반응형

ㅁ 개요

 

O 프로그램 소개

 

 - 이번 프로그램은 (1)옥션 최저가 항공티켓의 정보를 실시간으로 받아와 너무 비싸지 않은 가격으로 비행기표를 예매할 수 있는 프로그램을 만들어 보겠습니다. 추가로 시간이 허용된다면, 조금 더 개선하여 (2)자동으로 예매까지 해주는 프로그램을 만드는 방법에 대해서도 알아보겠습니다.

 

 

 

 

 

O 시나리오

1.저는 삶의 힐링을 위해 우리나라 제주도의 경치를 너무 좋아하고, 그래서 그 곳에 자주 갑니다.


2.최근에 코로나가 풀리고 사람들이 많이들 여행을 가서 그런지 내가 원하는 시간대의 제주도행 티켓이 없고, 있더라도 터무니 없이 비쌉니다.


3.대략 2개월전에 미리 예약하면 그나마 좀 나은 편이지만, 기간이 촉박한 상태에서 티켓을 예매하려다 보면 너무 비싸고, 터무니 없어 화가납니다.

 

4.결국 합리적인 가격으로 비행기표를 예매할 수 있도록 자동 티켓예매 프로그램을 직접 만들기로 마음먹었습니다.

 

 

 

 

O 향후 진행 순서

 

이후 글부터 진행되는 세부적인 내용은 다음과 같습니다.

 

 

1.원하는 날짜 선택하기

 -우리는 대부분 직장인이기 때문에 매주 금요일 저녁에 업무를 마치고 제주도로 간다고 가정하겠습니다.

여기서는 파이썬으로 2개월치 매주 금요일의 날짜를 가져오는 방법에 대하여 알아 보도록 하겠습니다.

 

 

2.선택한 날짜의 항공 티켓 정보 받아오기

 -위의 1에서 우리가 선택한 날짜의 티켓 정보를 파이썬의 셀레니움과 크롤링 기법을 응용하여 가져와서 엑셀파일로 저장하는 방법에 대하여 알아보겠습니다.

 

 

3.티켓정보에서 내가 원하는 시간대로 필터하기

 -금요일이라고 해도 새벽 6시 티켓 등은 우리가 원하는 티켓이 아닙니다. 따라서 우리가 원하는 시간대인 업무 종료 시간 17시~20시 사이의 티켓 정보만 필터해서 가져오는 방법을 설명합니다.

 

 

 

4.시간대로 필터한 티켓 중에서 최저가 티켓 뽑아오기

 -금요일 17시~20시 사이의 티켓들 중에서 가장 가격이 낮은 티켓의 정보를 가져오는 방법을 알아보겠습니다.

 

 

5.위의 내용을 종합하여 메신저로 최저가 정보와 전체 항공티켓 정보 받기

 -위에서 했던 내용들을 조금만 응용하여 텔레그램 메신저에 실시간으로 최저가 정보를 뿌려주고, 추가적인 정보를 확인할 수 있도록 전체 정보는 엑셀파일로 첨부하여 메신저로 보내주는 방법에 대하여 살펴보겠습니다.

 

 

 

 

O 완성된 프로그램 실행 화면

 - 최종 완성된 프로그램의 결과화면은 아래와 같습니다.

 

(1)옥션 최저가 항공티켓의 정보를 실시간으로 받아와 너무 비싸지 않은 가격으로 비행기표를 예매할 수 있는 프로그램

 

 

 0.프로그램을 처음 실행 시 아래와 같이 실행됩니다.

 

 

 

 

1. 그리고 프로그램 내 크롬드라이버를 사용한 파이썬의 셀레니움을 이용하여 자동으로 웹브라우저를 실행 후 티켓정보를 가져오기 시작합니다.

 

 

 

 

2. 아래는 2개월치 옥션 항공 티켓 정보를 가져오고 있는 모습입니다.

 

 

 

 

3. 동시에 가져온 티켓정보를 메신저에 최저가 정보를 뿌려주고, 전체 항공티켓 세부 정보는 파일로 보내줍니다.

 

 

 

 

4.윈도우탐색기에 해당 파일이 잘 저장된 것을 볼 수 있습니다.

(여기서는 1,2월 2개월치 데이터인 1/6부터 매주 금요일치 정보 8주치를 수집하고 있음)

 

 

 

 

 

 

 

 

5.엑셀파일을 열어보니 항공사별 티켓정보가 예상한 대로 잘 저장되어 있습니다.

 

 

 

6. 프로그램이 최종적으로 완료되면, 아래와 같이 윈도우 탐색기에 매주 금요일의 티켓정보를 담고 있는 8주치 파일 8개가 저장됩니다.

 

 

 

 

 

 

 

 

 

7. 아래는 우리가 원하는 시간대(17시~20시)에 티켓이 없는 경우 '티켓이 없습니다.' 라고 안내주고 있으며,

1/20의 경우 설명절로 이미 티켓이 매진된것으로 보입니다.

 

 

 

 

 

8.매신저에서도 실시간으로 2개월치 티켓정보(총 8번)가 잘 보여지고 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

O 향후 개선 사항

 

우리 프로그램은 완전하지 않으며, 추가로 아래와 같은 내용의 개선이 필요합니다.

직접 프로그램을 개선하려고 노력해 보시고, 뭔가 작은 것이라도 성취해 보신다면 이런 노력을 통해서 향후 엄청난 스킬업을 경험하실 수 있을 것이라고 확신합니다.

 

 

1.3개월치 티켓정보 수신하기

 -현재는 티켓정보를 2개월치만 받아오고 있습니다. 하지만 더 싼 가격정보를 받기위해서는 더 이전의 티켓정보가 필요합니다. 따라서 3개월 또는 그 이전의 티켓정보를 받아오도록 개선한다면 더 좋은 가격으로 티켓을 구매할 수 있을 것입니다.

 

2.항공사별로 티켓정보 예매하기

 -현재는 한개의 항공사 티켓만 예매할 수 있도록 프로그램되어 있습니다. 항공사별 티켓 예매 방법이 다소 상이하므로 항공사별로 따로 코드를 만들어 주어야 합니다.

이 부분을 해결한다면 자동으로 어떤 항공사든 예매가 가능할 것입니다.

 

3.결제까지 해보기

 -현재 결제까지 자동으로 하지는 않고 있습니다. 하지만 위의 2번에서 예매한 티켓의 정보가 정확하고, 구매할 만한 가치가 있는 가격대인 경우, 한번 더 확인 후(확인 버튼 클릭 등) 결제까지 자동으로 해주는 기능을 만들어 본다면 더 편리하고, 개발 하면서 본인의 스킬도 몰라보게 향상될 것 입니다.

 

 

 

 

이후 글부터 위의 '향후 진행 순서'에서 말씀 드린 내용대로 하나씩 자세해 설명 드리겠습니다.

 

오늘은 여기까지이며, 위의 내용이 유익하셨다면, 좋아요와 구독 부탁드립니다.

 

 

감사합니다.

 

 

※ 추가적인 정보는 아래 유튜브 영상에서 해당 내용을 더욱 자세히 보실 수 있습니다.

 

728x90
반응형
LIST