Playwright + Claude + Streamlit으로 네이버 브랜드커넥트 블로그 자동 발행 시스템 구축기

소개

네이버 브랜드커넥트(쇼핑 커넥트) 제휴 포스팅 작업을 자동화하는 시스템을 만들었습니다.

기존 작업은:

  • 상품 검색

  • 상품 선정

  • 홍보링크 발급

  • 글 작성

  • 이미지 삽입

  • OGP 카드 생성

  • 블로그 발행

까지 대부분 수작업이었고, 키워드 하나당 30분~1시간 정도가 소요됐습니다.

그래서 목표를:

“키워드 하나만 입력하면 블로그 발행까지 자동화한다”

로 잡고 시스템을 구축했습니다.

최종적으로는 Streamlit 대시보드에서 원클릭으로:

  • 상품 검색

  • AI 상품 선정

  • 홍보링크 발급

  • 블로그 글 생성

  • 이미지 업로드

  • OGP 카드 삽입

  • 네이버 블로그 발행

까지 자동 수행되도록 구현했습니다 🚀


진행 방법

기술 스택

Claude Cowork (Opus)

  • 시스템 설계

  • Playwright 코드 작성

  • DOM 분석

  • 디버깅

  • 리팩토링

등 전체 개발 workflow를 담당했습니다.


Claude Sonnet API

  • 상품 선정

  • 블로그 글 생성

을 담당했습니다.

비용과 효율을 고려해:

설계/디버깅 → Opus

반복 API 호출 → Sonnet

구조로 분리했습니다.


Playwright (Python)

브라우저 자동화 핵심 역할입니다.

자동화 범위:

- 네이버 로그인

- 상품 검색

- 홍보링크 발급

- 이미지 업로드

- SmartEditor 조작

- OGP 카드 생성

- 블로그 발행

특히 SmartEditor SE5 조작이 가장 난이도가 높았습니다.


Streamlit

운영용 대시보드를 구성했습니다.

기능:

  • 키워드 입력

  • 진행 상태 표시

  • 발행 이력 관리

  • 원클릭 실행


프로젝트 구조

navipost/

├── dashboard.py

├── browser/

│ ├── blog_browser.py

│ └── bc_browser.py

├── modules/

│ ├── keyword.py

│ ├── product.py

│ ├── writer.py

│ └── publisher.py

각 모듈을:

  • 키워드 분석

  • 상품 처리

  • 글 생성

  • 발행 자동화

역할 단위로 분리했습니다.


중국어로 된 newpost 웹사이트 스크린샷

핵심 프롬프트 구조

Claude Sonnet에는 아래 구조로 글 생성을 요청했습니다.

① 제목 ② 수익 고지문 ③ 도입부 ④ 상품 블록 ⑤ 선택 가이드 ⑥ 마무리

이미지와 링크는:

[IMAGE_BC_n], [LINK_BC_n]

placeholder 형태로 먼저 생성한 뒤, publisher.py에서 실제 이미지와 OGP 카드로 치환했습니다.


결과와 배운 점

구현 결과

최종적으로:

키워드 입력 → 약 5분 내 자동 발행 수준까지 자동화할 수 있었습니다.

추가로:

  • 상품 이미지 자동 삽입

  • naver.me 홍보링크 연결

  • OGP 카드 생성

까지 정상 동작을 확인했습니다.


주요 시행착오

1. DOM 셀렉터 변경

브랜드커넥트 CSS 클래스명이 자주 변경되어 selector가 깨졌습니다.

해결:

  • class*= 부분 매칭 사용

  • debug 스크립트로 DOM dump 검증


2. 이미지 다운로드 CORS 문제

브라우저 fetch() 방식이 CORS 정책에 차단됐습니다.

해결:

context.request.get()

방식으로 변경해 안정적으로 다운로드 처리했습니다.


3. OGP 카드 삽입 후 URL 잔존

OGP 카드 생성 후 원본 URL paragraph가 남는 문제가 있었습니다.

해결:

  • URL 패턴 탐지

  • JavaScript 후처리 제거


4. Claude API 토큰 초과

장시간 세션 사용 시 context limit 문제가 발생했습니다.

해결:

  • CLAUDE.md 기반 상태 관리

  • 세션 분리

  • payload 최소화


느낀 점

이번 프로젝트를 진행하면서:

  • Claude

  • Playwright

  • Streamlit

조합이 실제 운영 자동화에 굉장히 강력하다는 걸 체감했습니다.

특히 단순 글 생성이 아니라:

“브라우저 자동화 + AI 생성 + 발행 workflow”

를 하나의 pipeline으로 연결할 수 있다는 점이 인상적이었습니다.

앞으로는:

  • 예약 발행

  • 성과 분석 대시보드

등으로 확장해볼 계획입니다 😊

2
2개의 답글

뉴스레터 무료 구독