코딩 모르는 교수가 네이버 블로그 자동화한 이야기
— 로그인, 쿠키, 그리고 끝없는 시행착오 —
1. 왜 만들었나
은퇴 후 블로그를 시작했다.
처음엔 하루 한 편씩 직접 썼다. 주제를 찾고, 글을 쓰고, 네이버 에디터를 열고, 복사·붙여넣기하고, 발행 버튼을 누르는 과정을 매일 반복했다.
한 달쯤 지나자 깨달았다. 이건 사람이 할 일이 아니다.
마침 n8n이라는 자동화 도구를 알게 됐다. 코딩을 몰라도 블록을 연결하듯 워크플로우를 만들 수 있다고 했다. 반신반의하며 시작했다.
2. 전체 시스템 구조
지금 내 네이버 자동화 시스템은 이렇게 생겼다.
1
2
3
4
5
6
7
8
9
10
11
12
13
구글 시트 (콘텐츠 큐 + 프롬프트)
↓
n8n 워크플로우
↓
Claude API (글 자동 생성)
↓
naver_poster.py (Flask 서버 port:5001)
↓
🍪 쿠키 확인
├─ 쿠키 유효 → 바로 포스팅
└─ 쿠키 만료 → 재로그인 → 포스팅
↓
네이버 블로그 발행 완료
처음엔 이 구조가 머릿속에 없었다. 하나씩 막히고, 하나씩 해결하다 보니 어느새 이렇게 되어 있었다.
3. 구글 시트의 역할
자동화의 출발점은 구글 시트다.
여기에는 세 가지가 들어있다.
첫째, 프롬프트. Claude에게 어떤 글을 써달라고 지시하는 문장이다. “세무조사에 대비하는 방법을 블로그 형식으로 써줘” 같은 식이다. 이걸 시트에 미리 써두면 n8n이 꺼내서 Claude에게 전달한다.
둘째, 포스팅 대기열. 오늘 올릴 글, 내일 올릴 글을 줄 세워두는 곳이다. n8n이 순서대로 꺼내서 처리한다.
셋째, 발행 현황. 어떤 글이 언제 올라갔는지 기록된다. 나중에 확인할 때 유용하다.
구글 시트 하나가 편집장 역할을 하는 셈이다.
4. 핵심 프로그램: naver_poster.py
n8n이 글을 만들어도, 네이버에 올리는 건 별개 문제였다.
네이버는 공식 API가 없다. 블로그 자동 포스팅을 공식적으로 지원하지 않는다는 뜻이다. 그래서 Playwright라는 도구를 썼다. 실제 사람이 브라우저를 여는 것처럼 자동으로 로그인하고, 에디터를 열고, 글을 붙여넣고, 발행 버튼을 누르는 방식이다.
이걸 Flask라는 가벼운 웹 서버로 감쌌다. 이름이 naver_poster.py다.
실행하면 이렇게 뜬다:
1
2
3
네이버 블로그 포스팅 API 서버 / 포트: 5001
서버 시작...
Running on http://127.0.0.1:5001
n8n이 글을 완성하면 이 서버에 “올려줘” 하고 신호를 보낸다. 서버가 받아서 네이버에 자동으로 올린다.
5. 로그인·쿠키 문제 — 가장 골치 아팠던 부분
자동화에서 가장 많이 막힌 곳이 바로 로그인이었다.
처음엔 단순했다. 프로그램이 실행될 때마다 아이디·비밀번호를 입력해서 로그인했다. 그런데 문제가 생겼다.
네이버가 의심하기 시작했다.
“새로운 환경에서 로그인이 감지됐습니다.” 보안 문자가 뜨거나, 문자 인증을 요구했다. 자동화가 자꾸 중간에 멈췄다.
해결책은 쿠키 저장이었다.
쿠키란 “이 사람은 아까 로그인했으니 다시 안 해도 된다”는 일종의 통행증이다. 한 번 로그인하면 그 쿠키를 파일로 저장해두고, 다음번엔 쿠키만 불러다 쓰는 방식이다.
덕분에 매번 로그인하지 않아도 됐다.
그런데 또 문제가 생겼다.
쿠키는 만료된다.
일정 시간이 지나면 쿠키가 무효화되고 다시 로그인이 필요해진다. 이걸 모르고 있으면 자동화가 조용히 실패한다. 글이 안 올라가는데 이유를 모르는 상황이 생긴다.
그래서 프로그램 안에 감지 로직을 넣었다. 쿠키가 만료됐으면 자동으로 재로그인하고, 새 쿠키를 다시 저장한다. 터미널 로그에 이렇게 찍힌다:
1
2
3
기존 세션 쿠키 로드
로그인 필요
POST /post 200 ← 성공
실패와 해결의 반복이었다.
| 상황 | 문제 | 해결 |
|---|---|---|
| 첫 실행 | 로그인 필요 | 자동 로그인 구현 |
| 재실행 | 매번 로그인 반복 | 쿠키 저장 |
| 시간 경과 | 쿠키 만료 | 만료 감지 후 재로그인 |
| 네이버 보안 | 자동화 차단 시도 | Playwright로 우회 |
6. 비개발자의 솔직한 소감
나는 코딩을 모른다.
Python이 뭔지, Flask가 뭔지, Playwright가 뭔지 1년 전만 해도 몰랐다. 지금도 완전히 안다고 할 수 없다.
그런데 지금 내 컴퓨터에서 매일 자동으로 네이버 블로그에 글이 올라간다.
어떻게 가능했을까.
막히면 물어봤다. Claude에게, 구글에게, 에러 메시지에게. 이해가 안 되면 이해될 때까지 다시 물었다. 그렇게 하나씩 쌓았다.
가난은 태도다. 라는 말이 있다.
디지털 문맹도 마찬가지다. 모른다는 게 문제가 아니라, 배우지 않겠다는 태도가 문제다.
67세에 시작했다. 늦지 않았다.
다음 편: n8n 워크플로우 전체 구조 공개