재입고 알림 봇 만들기(python + telegram bot)는 내 블로그에서 가장 많은 사람들이 찾는 포스트이다. 그만큼 많은 사람들이 필요로 하는 기능인 것 같다. 글을 올린지 오래됐고 인터넷 상황도 많이 바뀌어서 간단한 스크래핑 기술은 통하지 않는 사이트들이 점점 늘어나고 있다.
그래서 가장 쉽고, 간단하게 스크래핑을 구현할 수 있는 방법을 소개하려고 한다. Windows의 자동화 툴인 Power Automate를 사용하는 방법이고 실제 브라우저를 이용하기 때문에 스크래핑 방지 기술을 피할 수 있다(방지 기술이 다양해서 걸리는 경우도 있다).
1. Power Automate 설치
Power Automate Desktop을 설치해야 한다. MS 스토어에서 설치할 수 있다. MS Store 링크

설치하고 시작하면 다음과 같은 화면이 나온다. (아마 MS 계정으로 로그인을 해야됐던 것 같다.) 2025년 11월 현재 설치된 버전은 2.62 이다.

Power Automate를 간략히 소개하면 MS에서 만든 자동화 툴이다. 윈도우에서 사용할 수 있으며 창 열기, 클릭, 입력 등 다양한 작업을 지원한다. 개인적으로 꽤 잘 만들어진 도구라고 생각한다. 귀찮고 반복적인 일을 코드 없이 쉽게 자동화할 수 있게 해준다.
2. 새 흐름 만들기
파워 오토메이트의 프로그램들은 흐름(flow)라고 부른다. 홈 화면에서 새 흐름을 클릭해서 새로운 프로그램을 만든다. 흐름 이름은 적당한 걸 입력하고 Power Fx 는 일단 필요 없으므로 꺼둔다.

흐름 편집 화면이 나온다. 기능이 많아서 꽤 복잡해 보일 수 있지만 간략히 설명하면 다음과 같다.

- 작업 : 왼쪽 부분으로 Power Automate에서 할 수 있는 기능들이 표시된다. 여기서 내가 원하는 작업을 찾아서 흐름 편집 창에 추가하면 된다. 드래그&드랍이나 더블 클릭을 하면 추가 된다.
- 흐름 편집 : 가운데 부분이다. 흐름을 정의하고 편집한다. 하위 흐름으로 구조를 만들 수도 있다.
- 변수 : 오른쪽 부분으로 흐름에서 사용하는 값들을 볼 수 있는 곳이다. 보통은 닫아놓는다. 문제가 생겼을 때 값들의 변화를 보며 추적하기 위해 사용하기도 한다. 변수 이외에도
UI 요소(쌓여있는 종이 아이콘),이미지등의 기능이 오른쪽에 위치한다.
왼쪽 작업 창에서 내가 필요로 하는 걸 찾아서 흐름 편집 창에 작업을 추가하고, 작업들끼리 연결하는 것이 파워 오토메이트의 일반적인 제작 흐름이다.
3. 재고 알림을 위한 흐름 구성하기
기본적인 흐름은 다음과 같다.
- 새 브라우저 시작(Chrome이나 Edge, Firefox 등) : 상품 페이지나 장바구니, 관심목록 등으로 이동한다.
- 웹 데이터 추출 : 핵심 작업이다. 브라우저에서 필요한 정보를 추출한다. 이 부분은 페이지가 어떻게 구성되어 있는지, 어떤 정보를 필요로 하는지에 따라 달라진다.
- 알림 조건 체크 : 구매 가능 상태로 바뀌거나 가격이 바뀌었는지 체크한다.
- 알림 보내기 : 알림 조건이 맞으면 알림을 보낸다.
그리고 전체 흐름을 반복하면 된다. 반복은 여러 가지 옵션이 있는데 그중 가장 기본은 반복 조건이고 숫자 카운트가 필요하면 반복을 사용할 수 있다. 프로그래밍에서는 while과 for에 해당한다.

흐름의 1번과 4번은 대부분 동일할 것이다. 실제로 구성한 모습은 다음과 같다.

반복이 들어가 있어서 조금 복잡해졌는데 중요한 부분은 그림 왼편의 숫자 기준으로 3, 4, 5번 뿐이다.
- 브라우저를 시작하고 특정 주소로 이동한다. 상품 페이지가 될 수도 있고, 장바구니, 관심 목록이 될 수 있을 것이다. 여기서는 특정 상품의 페이지로 했다.
-
알림 조건을 확인한다. 지금은 일시품절이 아닌 경우(즉 구매 가능한 경우)에 그 내부의 흐름을 타도록 해놨다. 브라우저 자동화에 있는
웹 페이지가 다음을 포함하는 경우라는 작업을 사용했다. -
여기서는 간단히 메시지 창이 뜨도록 해놨다. 메신저와 연동을 한다면 여기에서 메시지를 보내는 프로그램을 실행하면 될 것이다.
6번 작업은 반복을 중단하기 위한 것이다. 8번은 창을 닫고 새로 열기위한 부분인데 여기서는 반복 안에서 창을 열었기 때문에 꼭 필요하다. 반복 밖에서 창을 열었다면 필요 없다. 9번은 5분간 대기하기 위한 것이다. 너무 자주 요청을 보내면 공격으로 판단을 하고 IP를 차단할 수 있기 때문이다.
한 가지 사례로 디테일하게 알아보려고 한다. 샘플 사이트는 이번에도 레고로 했다. 입고 체크와 가격 변동 체크 두 가지를 다뤄보려고 한다.
4. 사례 – 입고 체크하기
앞의 예시와 같이 구성하면 된다. 웹 페이지에서 데이터 추출은 핵심 작업인데 이러한 자동화 툴에 익숙하지 않으면 어려울 수 있다. 단계별로 자세하게 설명을 하면 다음과 같다.
- Power Automate에서 사용하는 브라우저와 같은 브라우저(여기서는 Microsoft Edge)를 열고 상품 페이지로 이동한다.
- 페이지와 연결할 작업을 편집한다. 여기서는
웹 페이지가 다음을 포함하는 경우작업 이다. 웹 페이지가 포함하는지 확인 부분은요소 포함하지 않음을 선택한다. 편집 창이 열리면UI 요소 추가를 선택한다.


- 다시 브라우저로 이동하면
UI 요소 선택기가 보일 것이다(그림에서는 라이브 웹 도우미 라고 표시되어 있다). 이 창은 HTML을 모르더라도 추출하려는 데이터를 쉽게 선택할 수 있게 해준다. 
- 체크해야 할 값 위에 마우스 포인터를 올려둔다. 지금은 일시품절 이라는 값을 보고 구입 가능 상태를 체크하려고 한다. UI 요소 선택기의 안내대로 Ctrl + 클릭을 한다.
- 잘 설정이 되었으면 다음 그림과 같을 것이다. 웹 페이지에 “일시품절” 이라는 텍스트가 있는지 검사하고 없을 경우 안쪽 작업이 실행된다.

스크린샷으로 설명하기 좀 복잡해서 영상으로 녹화를 했다.
다음에는 여러 아이템의 가격 변동을 감지하는 진행해보려고 한다.