ㅁ 개요
O 프로그램 소개
- 이번 글은 이전글(2023.02.03 - [분류 전체보기] - (프로젝트) 옥션 최저가 항공티켓으로 제주도 여행가기 - 2. 선택한 날짜의 항공 티켓 정보 받아오기)에 이은 4번째 글로 선택한 날짜의 모든 티켓 정보 중에서 원하는 시간대(17시~21시)의 정보만 필터링하여 가져오는 방법에 대하여 알아보겠습니다.
O 완성된 프로그램 실행 화면
1.프로그램을 실행하면 아래와 같은 모습으로 실행되며, 일단 쉬운 이해를 위해서 간략하게 2023년 2월 중 금요일 2개만, 그리고 티켓리스트 중 위에서부터 10개만 테스트해 보았습니다.
['2023-03-06', '2023-01-13']
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 우리가 배운 내용
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)
first_time = datetime.strptime("17:00", dateFormatter)
last_time = datetime.strptime("21:00", dateFormatter)
오늘은 여기까지이며, 댓글과 하트는 제가 이글을 지속할 수 있게 해주는 힘이 됩니다.
위의 내용이 유익하셨다면, 댓글과 하트 부탁드립니다.
감사합니다.
※ 추가적인 정보는 아래 유튜브 영상에서 해당 내용을 더욱 자세히 보실 수 있습니다.
'파이썬 프로젝트 및 응용 > 옥션 최저가 항공티켓으로 제주도 여행가기' 카테고리의 다른 글
(프로젝트) 옥션 최저가 항공티켓으로 제주도 여행가기 - 5. 2개월치 금요일 가장싼 티켓 데이터 수집 후 텔레그램으로 보내기 (0) | 2023.03.25 |
---|---|
(프로젝트) 옥션 최저가 항공티켓으로 제주도 여행가기 - 4. 선택한 날짜의 항공 티켓에서 원하는 시간대 및 가장 싼 티켓 정보 찾기 (0) | 2023.03.25 |
(프로젝트) 옥션 최저가 항공티켓으로 제주도 여행가기 - 2. 선택한 날짜의 항공 티켓 정보 받아오기 (0) | 2023.02.23 |
(프로젝트) 옥션 최저가 항공티켓으로 제주도 여행가기 - 1. 원하는 날짜 선택하기 (0) | 2023.02.23 |
(프로젝트) 옥션 최저가 항공티켓으로 제주도 여행가기 - 0. 소개 (0) | 2023.02.23 |