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

(프로젝트) 옥션 최저가 항공티켓으로 제주도 여행가기 - 3. 선택한 날짜의 항공 티켓에서 원하는 시간대 정보만 받아오기

파기차차 2023. 3. 25. 23:15
728x90
반응형
SMALL

ㅁ 개요

 

O 프로그램 소개

 

 

 - 이번 글은 이전글(2023.02.03 - [분류 전체보기] - (프로젝트) 옥션 최저가 항공티켓으로 제주도 여행가기 - 2. 선택한 날짜의 항공 티켓 정보 받아오기)에 이은 4번째 글로 선택한 날짜의 모든 티켓 정보 중에서 원하는 시간대(17시~21시)의 정보만 필터링하여 가져오는 방법에 대하여 알아보겠습니다.

 

 

 

 

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

 

 

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

 

1.프로그램을 실행하면 아래와 같은 모습으로 실행되며, 일단 쉬운 이해를 위해서 간략하게 2023년 2월 중 금요일 2개만, 그리고 티켓리스트 중 위에서부터 10개만 테스트해 보았습니다.

['2023-03-06', '2023-01-13']

 

 

 

3

2. 프로그램 실행 결과 2/3일자 티켓 상위 10개 중 17~21시 조건을 만족하는 티켓은 없었습니다.

 

 

아래에서 보듯이 상위 10개 티켓 중 17시 이후에 출발하는 비행기는 없습니다.

 

 

 

3. 2월 10일자는 티켓 상위 10개 중 17~21시 조건을 만족하는 티켓이 아래와 같이 1개 존재하는 것을 확인하였습니다.

 

 

 

실제 옥션 웹페이지에서 확인 결과도 위에서 2번째 티켓이 우리의 시간 조건(17~21시)에 맞는 것을 확인할 수 있습니다.

 

 

 

 


 
 

 

O 주요 내용

 

1. 소스를 살펴보겠습니다.

 

다른 부분은 이전 글의 소스와 모두 동일하므로 아래 주요 부분만 설명드리겠습니다.

 

라인 131 : 웹페이지에서 출발시각 및 도착 시각 정보를 가져옵니다. (11:25  12:35)

라인 132 : 위에서 가져온 시각 정보 중 출발시각 정보만 뽑습니다. (11:25)

라인 133 : 시간 비교를 위해서 데이터 포멧을 str -> date형으로 바꿔 줍니다.

라인 134 : 크롤링해서 가져온 시각을 중심으로 비교하기 위해 mytime변수에 그 시각 정보를 넣어 줍니다.(mytime = 1900-01-01 11:25:00)

라인 136 : 시간조건의 시작 시간을 지정해 줍니다.(1900-01-01 17:00:00)

라인 138 : 시간조건의 끝 시간을 지정해 줍니다.(1900-01-01 21:00:00)

 

 

아래 구글 크롬에서 출발 시각 우클릭 > 검사 클릭 시 오른쪽 화면에서 아래와 같이 출발 시각이 선택된 것을 확인할 수 있습니다.

time_ = ticket_list[i].find("div",class_='gt_offer_col gt_offer_time').text.strip()

 

 

 

 

 

 

 

 

 

 

 


 

ㅁ 정리

 

O 우리가 배운 내용

 

 

 - 오늘은 선택한 날짜의 모든 항공 티켓 정보 중에서 원하는 시간대(17시~21시)의 정보만 필터링하여 가져오는 방법에 대하여 알아보았습니다.
 
 
 - 오늘 우리가 배운 내용을 간략히 정리해 보면 아래와 같습니다.
 > 1.시간 조건을 걸기 위해 티켓 정보 중 시간 정보를 가져와 변수에 저장 후 날짜 포멧으로 변경
        time_ = ticket_list[i].find("div",class_='gt_offer_col gt_offer_time').text.strip()
        time_ = time_[0:5]
        dateFormatter = "%H:%M" # 날짜 포멧 맞추기
        mytime = datetime.strptime(time_, dateFormatter)

 
 > 2.위에서 가져온 날씨 형식의 시간이 우리가 원하는 시간대인지 확인을 위하여 시작 및 끝 시간을 지정 후 비교

        first_time = datetime.strptime("17:00", dateFormatter)
        last_time = datetime.strptime("21:00", dateFormatter)

 

 

오늘은 여기까지이며, 댓글하트는 제가 이글을 지속할 수 있게 해주는 힘이 됩니다.

위의 내용이 유익하셨다면, 댓글과 하트 부탁드립니다.

 

 

 

 

감사합니다.

 

 

 

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

 

 

728x90
반응형
LIST