피드로 돌아가기
How I Automatically Sync My Skool Members to Airtable Every Day
Dev.toDev.to
Backend

API 없는 서비스의 데이터 자동 동기화, Playwright와 n8n으로 해결

How I Automatically Sync My Skool Members to Airtable Every Day

Kjetil Furås2026년 4월 6일7intermediate

Context

Skool 플랫폼의 공식 멤버 내보내기 API 부재로 인한 데이터 수집 제약. 수동 CSV 다운로드 방식의 확장성 한계 및 운영 공수 증대. 실시간 멤버 상태 기반의 자동화 워크플로우 구축 필요성 대두.

Technical Solution

  • UI 변경에 취약한 웹 스크래핑 대신 공식 CSV 내보내기 기능을 활용한 안정적 데이터 추출 전략
  • Playwright와 Python을 조합한 Headless Browser 기반의 자동 로그인 및 파일 다운로드 프로세스 구현
  • n8n Code 노드와 자체 호스팅 Python API를 연동한 스케줄링 기반의 자동화 파이프라인 설계
  • 환경 변수를 통한 계정 정보 주입으로 보안성 강화 및 환경별 설정 분리 구조 적용
  • 추출된 CSV 데이터를 정규화하여 Airtable에 Upsert 하는 방식으로 데이터 중복 방지 및 최신 상태 유지
  • Airtable을 Single Source of Truth로 설정하여 GitHub 조직 초대 등 하위 자동화 시스템의 트리거로 활용

Key Takeaway

성능보다 안정성이 우선인 일일 배치 작업의 경우, API 리버스 엔지니어링보다 브라우저 세션을 통한 공식 UI 경로 활용이 유지보수 비용을 낮추는 효율적인 선택임.


공식 API가 없는 외부 서비스의 데이터 동기화 시, UI 변경 리스크를 최소화하기 위해 공식 내보내기(Export) 기능을 Headless Browser로 자동화하는 방안을 검토할 것

원문 읽기