새 미션: 블로거 발행글을 네이버 블로그 포맷으로 변환해서 자동 포스팅하는 Workflow C-naver구현
새 미션: 블로거 발행글을 네이버 블로그 포맷으로 변환해서 자동 포스팅하는 Workflow C-naver구현
"n8n Docker 환경(포트 5678), Workflow A/B로 ganatoday.kr 블로거 자동화 운영 중. 새 미션: 블로거 발행글을 네이버 블로그 포맷으로 변환해서 자동 포스팅하는 Workflow C-naver구현"
Workflow C-naver 구현 전략
가장 먼저 짚어야 할 핵심 제약이 있습니다.
⚠️ 네이버 블로그의 API 현실
네이버 블로그에는 공식 글쓰기 API가 없습니다.
- 네이버 Open API는 검색/읽기 전용
- 블로그 포스팅 API는 수년 전 공식 종료
- 이 제약이 Workflow C 설계의 핵심 변수입니다
구현 가능한 방법 2가지
| 구분 | 방법 | 난이도 | 안정성 |
|---|---|---|---|
| A안 | Playwright 브라우저 자동화 (Docker 내 실행) | ★★★ | 보통 (UI 변경 취약) |
| B안 | 네이버 블로그 RSS 임포트 활용 | ★ | 높음 (단, 수동 1회 설정) |
추천: B안 + A안 병행 구조
B안(RSS)으로 기반을 잡고, A안(Playwright)은 선택적으로 추가
Workflow C 전체 아키텍처
[Schedule Trigger]
↓
[Google Sheets 읽기] ← 발행완료(B루틴) 표시된 행
↓
[Blogger RSS/API로 본문 가져오기] (HTTP Request)
↓
[Claude API - 포맷 변환]
· HTML → 네이버 에디터 친화적 텍스트
· 해시태그 자동 생성 (한국어 SEO)
· 이미지 alt 텍스트 재작성
↓
┌──────────────────────────────┐
│ [A안] Execute Command │
│ Python + Playwright │
│ → 네이버 로그인 → 글쓰기 │
└──────────────────────────────┘
↓
[Google Sheets 상태 업데이트]
naver_status: "published"단계별 구현 로드맵
1단계 (즉시 가능) — Google Sheets 컬럼 확장
현재 시트에 열 추가:
| ... | blogger_url | naver_converted | naver_status |2단계 — Claude 변환 노드 프롬프트
블로거 HTML 포스트를 네이버 블로그용으로 변환해주세요.
규칙:
- HTML 태그 제거, 줄바꿈 2번으로 문단 구분
- 소제목은 [제목] 형식으로 변환
- 마지막에 해시태그 10개 추가 (#키워드 형식)
- 이모지 적절히 삽입 (시니어 독자 친화적)
- 3,000자 내외 유지
입력:
{{$json.blogger_html}}3단계 — Playwright Docker 설정
n8n Docker에 Playwright 추가:
bash
# docker-compose.yml 수정
# n8n 컨테이너에 추가 설치 필요
docker exec -it n8n_container bash
pip install playwright
playwright install chromium
playwright install-deps chromium4단계 — Execute Command 노드 (Python 스크립트)
python
import asyncio
from playwright.async_api import async_playwright
NAVER_ID = "your_id"
NAVER_PW = "your_pw"
CONTENT = """{{ $json.converted_text }}"""
TITLE = """{{ $json.title }}"""
async def post_to_naver():
async with async_playwright() as p:
browser = await p.chromium.launch(headless=True)
page = await browser.new_page()
# 네이버 로그인
await page.goto("https://nid.naver.com/nidlogin.login")
await page.fill("#id", NAVER_ID)
await page.fill("#pw", NAVER_PW)
await page.click(".btn_login")
await page.wait_for_timeout(2000)
# 블로그 글쓰기
await page.goto("https://blog.naver.com/post/editor.naver")
# ... 에디터 조작
asyncio.run(post_to_naver())현실적 권고사항
네이버 블로그 Playwright 자동화는 캡차, 보안 감지 리스크가 있습니다. 실제 운영에서는:
- headless=False 옵션으로 시작 (감지 우회)
- 로그인 세션 쿠키 저장 방식 사용 (매번 로그인 X)
- 포스팅 간격 30분 이상 유지
어느 단계부터 시작하시겠습니까?
- A. Google Sheets 컬럼 확장 + Claude 변환 노드부터
- B. Playwright Docker 설치 및 테스트부터
- C. 전체 워크플로우 JSON 초안 생성
댓글
댓글 쓰기