피드로 돌아가기
I Stopped Writing TikTok Scrapers. Five Lines of Python Replaced Them.
Dev.toDev.to
Backend

800라인의 Scraping 코드를 5라인의 Actor 호출로 대체한 아키텍처 전환

I Stopped Writing TikTok Scrapers. Five Lines of Python Replaced Them.

SIÁN Agency2026년 4월 27일3intermediate

Context

Playwright 기반의 Selector-first 방식 Scraping 아키텍처 운영 중 Layout drift로 인한 빈번한 시스템 장애 발생. Cloudflare 차단 및 Audio transcription을 위한 Whisper/ffmpeg 인프라 관리 비용이 서비스 핵심 가치 구현보다 높게 발생하는 비효율성 직면.

Technical Solution

  • 자체 유지보수 레이어를 제거하고 전문 API 기반의 Actor 모델을 도입한 외부 위임 구조 설계
  • DOM Selector 의존성을 완전히 제거하여 플랫폼 UI 변경에 따른 시스템 영향도 제로화
  • 복잡한 Proxy 설정 및 Captcha 처리 로직을 Actor 내부 추상화 레이어로 이전하여 구현 복잡도 제거
  • Whisper 기반 Transcription 및 45종의 Metadata 추출 과정을 단일 API 엔드포인트로 통합
  • compute hours 기반 과금 체계를 Validated result 기반 과금 체계로 전환하여 인프라 비용 최적화
  • Playwright cluster, Redis, Cron으로 구성된 무거운 스택을 단순 Python script 기반의 가벼운 파이프라인으로 경량화

1. 데이터 수집 대상의 UI 변경 빈도와 유지보수 공수 산정

2. 자체 구축 인프라(Compute hour) 비용과 Managed API(Per result) 비용의 TCO 비교

3. Scraping 파이프라인에서 오버헤드가 큰 전처리(Audio-to-Text 등) 과정의 외부 위임 가능성 검토

4. Selector 의존성을 낮추기 위한 API-first 접근 방식 고려

원문 읽기