필요해서 만든 벨로그 전체 조회수 추출기

박건형·2025년 12월 30일
post-thumbnail

📊 Velog 총 조회수 자동? 수집 도구

포트폴리오에 블로그 조회수 지표를 넣어보고 싶었습니다.
그런데 Velog는 전체 조회수(총합) 를 한 번에 보여주는 기능이 없더라고요.

그래서 직접 만들었습니다.
내 Velog의 모든 포스트 조회수를 자동으로 수집해서 총합을 계산해주는 Node.js 도구입니다.
한 번 실행하면 TOTAL VIEWS = ... 형태로 깔끔하게 결과가 나옵니다.


🧩 개발 동기

Velog를 오래 하다 보면 한 번쯤 이런 생각이 듭니다.

“내 글들 총 조회수가 얼마지?”

근데 현실은…

  • 글마다 들어가서 확인하기 너무 번거롭고
  • 엑셀에 따로 정리하기도 애매하고
  • DOM 크롤링은 Velog UI가 조금만 바뀌어도 바로 깨지고…

그래서 UI에 덜 흔들리는 방식으로 접근했습니다.


✅ 이 도구가 좋은 이유

1) 🛡️ UI 변경에 강함 (GraphQL 기반)

페이지 HTML을 긁는 방식이 아니라, Velog의 GraphQL API 호출로 데이터를 가져옵니다.
그래서 DOM 구조가 바뀌어도 비교적 안정적으로 동작합니다.

2) ⚡ 빠르고 간단함

외부 라이브러리 없이도 동작하며, 실행 흐름이 단순합니다.
“설치 → 실행 → 쿠키 붙여넣기 → 결과 확인” 끝.

3) 📈 진행 상황이 실시간으로 보임

포스트가 많아도 현재 진행 상황이 출력됩니다.


🧠 동작 방식

  1. 브라우저에서 Velog 로그인
  2. 개발자도구(Network)에서 graphql 요청의 cookie: 헤더 복사
  3. 터미널에서 실행
  4. 내 글 목록 → 각 글 조회수 → 합산 → 결과 출력

🚀 사용 방법

1) 프로젝트 설치

git clone https://github.com/rjsgud49/velog-total-views-tracker.git
cd velog-total-views-tracker
npm install

의존성이 거의 없어서 설치가 빠릅니다.

2) 실행

node total-views.mjs <velog_username>

예시:

node total-views.mjs rjsgud49

실행하면 쿠키 입력을 요청합니다.
복사한 쿠키 문자열을 붙여넣고 Enter만 치면 됩니다.


🍪 쿠키 가져오기 (가장 추천: GraphQL 요청에서 복사)

  1. Velog 로그인
  2. F12Network
  3. 필터에 graphql 입력 (또는 v2cdn.velog.io)
  4. 통계 페이지(/stats)나 포스트 목록 페이지 새로고침
  5. graphql 요청 클릭 → Headers
  6. Request Headers에서 cookie: 값을 통째로 복사

⚠️ 쿠키에는 인증 정보가 포함될 수 있으니 절대 공유하지 마세요.


📊 출력 예시

📊 Fetching posts for @rjsgud49...
Found 25 posts
진행 중... 25/25 포스트 처리됨

✅ @myusername TOTAL VIEWS = 12,345

👤 이런 분들께 추천

  • 포트폴리오/이력서에 블로그 운영 지표를 넣고 싶은 분
  • 글이 많아서 조회수 확인이 귀찮은 분
  • DOM 크롤링이 자주 깨져서 스트레스 받은 분
  • Node.js로 작은 자동화 도구를 만들어 공유해보고 싶은 분

🔐 주의사항 (중요)

  • 이 도구는 쿠키 기반 인증을 사용합니다.
  • 쿠키에는 로그인 토큰이 포함될 수 있어 절대 타인에게 공유하면 안 됩니다.
  • 저는 저장하지 않고, 입력받은 값을 요청할 때만 사용하도록 구성했습니다.

📌 마무리 & 다음 개선 아이디어

Velog는 포스트 단위 조회수는 보여주지만, 전체 조회수 총합은 공식 기능으로 제공하지 않아서 아쉬웠습니다.
그래서 “한 번 실행하면 끝”인 도구로 해결해봤고, 저처럼 블로그를 꾸준히 쓰는 분들께 유용할 거라 생각합니다.

써보시고 오류/개선 아이디어 있으면 이슈로 편하게 남겨주세요 🙌
예를 들어…

  • 특정 글에서 실패했을 때 재시도
  • 병렬 처리로 속도 개선
  • 기간별/카테고리별 조회수 합산

Happy Tracking! 📊✨

profile
프론트엔드 개발자

0개의 댓글