async
-
Spring: Playwright exposeFunction (유튜브 라이브 채팅 읽기)컴퓨터/JAVA 2025. 3. 2. 23:24
Youtube.com 라이브에서 API 없이 실시간으로 채팅을 읽고 싶었다. Spring Boot 3.4 + Java 23 환경에서 Virtual Thread를 켠 상태이다.(새로운 동영상마다 scraper가 생성되는 방식)일단 유튜브 웹사이트가 동적으로 iframe을 불러온다. 처음에는 HTML에서 element를 계속 읽으면 될 것이라고 생각했다.하지만, 유튜브가 DOM을 재활용한다. (보이는 부분만 렌더링?)그래서 이 방식은 어느 순간부터 새로운 메시지를 잘 읽지 못하고, ID도 재사용되는 듯해 uuid를 써서메시지를 처리했는지 일일이 확인해야 했다. 그러면 어떻게 하면 제일 빠르게 읽을 수 있을까? 고민을 하다가 @MutationObserver를 알게 되었다.DOM 트리 변경사항을 감지할 수 있..