실습

[Power Automate] ✈️ 항공권 요금 모니터링 (실습)

bigpotworks 2025. 4. 30. 14:21

 

웹앱으로는 작업이 안되고, Power Automate 를 깔고, 엣지 브라우저 (혹은 크롬) 에 Power Automate 확장을 설치해준다. 

+ 엑셀도 있어야 함.

더보기

워크플로우

데스크탑 흐름 만들기 클릭

 

Power Automate 설치는 시간이 좀 걸리는 편이다.

 

빈 화면인 이렇다. 우측 사이드바에 코파일럿이 떠있음.

 

Main 은 기본적으로 있고, Initalize, Collect, Shutdown 이라는 하위 흐름을 생성한다

 

Main 에서 하위흐름 3개를 통합해서 실행할 것이다.

 

 

[흐름 제어 > 하위 흐름 실행] 에 들어가서 아까 만든 3개의 하위 흐름들을 Main 에 추가해준다.

 

(* 자동 저장 기능이 없으므로, 좌측 상단의 저장하기 자주 눌러준다)

 


 

1. Initalize 하위 흐름

 

Initalize 하위 흐름에서 [폴더 > 폴더 만들기] 에 들어가서 아무 경로에 auto_data 라는 이름의 새로운 폴더를 생성한다.

 

[Excel > Excel 시작] 한다

 

 

kayak 워크시트 추가!

 

 

이제 사용자에게 항공권 날짜를 입력받는다.

[메시지 상자 > 날짜 선택 대화 표시]

 

이때 새로운 변수 "SelectedDate" & "ButtonPressed" 가 생성되었다.

 

아까 생성된 날짜를 텍스트로 변환시켜 준다.

 

SelectedDate > FormattedDateTime 이라는 새로운 텍스트 타입 변수가 생성되었다.

 

 

자동 생성된 변수명이 마음에 들지 않으면 클릭해서 수정 가능하다.

 

[기본값:10] 은 10번 작업을 반복하겠다는 의미.

 

 

RepeatNumber 이라는 새로운 변수로 텍스트 타입을 숫자 타입으로 변환시켜준다.

 

 

지금까지의 초기 흐름은 이렇다.

 


 

2. Collect 하위 흐름: Kayak 최저가 데이터 추출

 

이제 엣지를 사용해서 Kayak 에서 데이터를 수집하는 스텝을 진행해 보겠다.

 

 

엣지를 열어주는 작업을 추가하고, (About:blank 로 빈 페이지를 열어준다)

 

 

아까 생성한 RepeatNumber 변수만큼 작업을 +1 씩 증가하면서 반복해준다.

 

카약으로 들어가서 원하는 조건의 항공권 URL 을 긁어온다.

 

나는 인천-취리히 항공권을 예시로 했음.

 

 

 

해당 카약 URL 을 가져오면 출발 날짜가 같이 가져와지는데, 그 자리에 아까 생성한 변수 {x} 를 FormattedDateTime 으로 변경해준다.

 

출발 날짜는 반복할 때마다 변하는 변수이므로...

 

 

페이지 로딩을 기다려 주기 위해 대기를 10초로 지정해준다

 

[흐름 제어 > 대기]

 

 

이쯤해서 좌측 재생 버튼을 눌러서 코드를 실행해본다.

 

정상적으로 작동함! (출발일자는 미래 일자로 선택해야 오류가 없다)

 

지금 열린 카약 창을 닫지 않고, 다음 스텝으로 넘어감

 

 

저장을 누르지 않는다!!

 

아까 열은 카약창에 들어가서 조금 기다리면, 붉은 박스들이 뜬다.

 

(* 엣지 확장에서 Power Automate 가 깔려 있어야 함)

 

여기서 원하는 '최저가 가격' 에 마우스를 대면 붉은색으로 박스가 뜨는데, [우클릭하고>요소 값 추출 > 텍스트] 클릭해주면 된다. 

 

완료 버튼을 누른다.

 

실행 결과!

재생 버튼을 누르고, 아무 날짜나 선택한 뒤, 재생이 완료되면 LowestPrice 변수를 클릭해본다.

 

796,447 원이 해당 일자의 최저가 항공권이니, 정상적으로 가격 데이터가 수집되고 있다는걸 확인할 수 있다.

 

 

위에서 3번째 메뉴다

 

텍스트 자르기가 2개 있는데 (Crop, Trim 으로 영문에서는 다른 이름임), 번역 이슈다...

 

여기서 LowestPrice 에서 '원'을 지우고, 가격 부분만 가져온다. 이 값을 숫자로 변환하기 위한 밑작업이라고 보면 된다.

 

 

최저가 텍스트를 숫자로 변환하여 LowestPriceNum 이라는 변수에 저장해준다.

 


이제 가져온 최저가 숫자를 엑셀에 저장해준다.

 

반복 횟수 (LoopIndex) 를 기준으로 입력해주면 된다. 따라서 1번째 열에는 몇 번째 반복인지를 표시해준다.

 

 

2번째 열에는 아까 숫자로 변환한 최저가 데이터 (LowestPriceNum) 를 입력해준다. 

 

 

3 번째 열에는 아까 포매팅한 날짜를 입력해준다.

 

 

 

 

 

하단에 SelectedDate 에 +1 을 더해서 다시 변수에 값을 할당하는 작업을 해준다.

 

즉 미리 설정한 반복 안에서 다음날 항공권 가격 검색을 위해 SelectedDate 변수가 1일 단위로 증가하도록 자동화 하는 것이다.

 

 

아까 했던 작업 그대로, SelectedDate (날짜) 를 FormattedDateTime (텍스트) 로 타입 변환을 해주고, 기존 변수에 덮어써준다.

 

지금까지의 전체적인 흐름은 이렇다. [데이터 추출 > 텍스트 자르기 > 엑셀 워크시트 쓰기> 날짜 변경]

 

그래서 실행시켜보았다!! (2025-06-05, 인천-취리히, 3번 반복)

 

성공


 

3. ShutDown 하위 흐름: 프로그램 마무리하기 (저장하고 닫기)

 

작업 시작하면서 열린 엑셀을 원하는 경로/파일명으로 저장한다.

 

 

이렇게 하면 ShutDown 단계는 완료.

 


간단하게 Microsoft Power Automate 를 활용해서 원하는 날짜의 항공권 최저가를 스크래핑하는 실습을 해 보았다.

 

예외처리나, 데이터 후처리 등등은 다음에...(언젠가)