예제로 배우는 크롤링:닛신 라멘 뮤지엄 견학 캔슬 알람 보내기 (1)

일상생활을 하다 보면 내가 꼭 원하는 무언가를 손에 넣기 힘들 때가 있습니다.
내가 정말 사고 싶은 신발이 언제나 재고가 없다든가,
정말 가고 싶은 콘서트의 티켓이 순식간에 사라진다든가 등등...
원래 좋은 것은 남들도 좋아하기 마련이고, 그런 것일수록 손에 넣기가 쉽지 않은 법입니다.
여러분도 언제쯤 재고가 들어오는지, 취소된 티켓이 없는지 기대하며 새로고침 버튼을 연타해 본 경험이 있으시리라 생각합니다.
이럴 때 자동화를 이용하여 크롤링하면, 컴퓨터 앞에서 계속 모니터링하지 않아도 구매 가능한 상황이 왔을 때 바로 자신의 스마트폰으로 알림을 받을 수 있습니다.
이번 글에서는 Make.com, ScrapingBee, 텔레그램을 조합하여 간단히 재고 발생 알림을 받을 수 있는 자동화 시나리오를 만드는 방법을 공유하겠습니다.
준비물
- Make 계정
- Scrapingbee계정
- 텔레그램 계정
크롤링 대상
닛신 요코하마 컵누들 뮤지엄(カップヌードルミュージアム)
치킨 라멘 팩토리 체험
홈페이지 주소
カップヌードルミュージアム 横浜
「カップヌードルミュージアム 横浜」は、インスタントラーメンにまつわるさまざまな展示や体験工房など通じて、発明・発見の大切さやベンチャーマインドについて楽しみながら学べる体験型ミュージアムです。

단계별 구현 방법
1. Make 초기설정
- Make에 로그인하고 '새 시나리오 만들기'를 클릭합니다.
- 하단 메뉴바의 플러스 버튼(+)을 눌러 사용 가능한 모듈에서 'HTTP'를 찾아 'Get a file' 액션을 추가합니다.
- 같은 방식으로 'Telegram Bot' 모듈에서 'Send a Text Message or a Reply' 액션을 선택한 후, 두 모듈을 드래그&드롭하여 연결합니다.

2. Make HTTP액션 세부 설정
'Get a file' 액션에서 설정해야 하는 내용은 캔슬 조회를 해야 하는 URL을 입력하면 됩니다. 실제로 크롤링해야 할 URL은 다음과 같습니다.
하지만 이 URL을 그대로 넣고 모듈을 실행시키면 몇 가지 문제가 발생합니다.
- 해당 홈페이지는 페이지 로딩이 완료된 후, 각 날짜별 공석 정보를 JavaScript로 표시하는 방식을 사용합니다.
- 하지만 'Get a file' 액션은 페이지가 로드된 순간의 정보만 가져오기 때문에, 공석 정보가 표시되기 전의 HTML 데이터만 수집됩니다.
- 설령 공석 정보가 표시된다고 해도, 특정 날짜의 예약 정보만 필요합니다.
- 하지만 'Get a file' 액션은 페이지 전체를 다운로드하기 때문에 내가 원하는 부분만 골라서 처리하기가 어렵습니다.
이 문제를 해결하기 위해, 웹 스크래핑 및 크롤링 전용 서비스인 ScrapingBee를 활용합니다.
다음 글에서 계속...
예제로 배우는 크롤링:닛신 라멘 뮤지엄 견학 캔슬 알람 보내기 (2)
ScrapingBee란? ScrapingBee에 대해서는 아래 페이지를 참조해주세요. [프리뷰] ScrapingBee: 심플한 웹 스크래핑 통합솔루션이 블로그에서는 다양한 웹 스크래핑 툴을 소개해 왔습니다. 1인 개발을 하다 보면 서비스를 구축하는 것보다 서비스의 콘텐츠를 풍부하게 하는 것이 더 어려운 경우가 많고 웹 스크래핑은 이런 문제를 해결하는 좋은 방법이기 때문입니다. 그럼 지금까지 소개한 솔루션과 ScrapingBee는 무엇이 다를까요?
