회사 첫 번째 업무 자동화 성공 — 네이버 검색량 트래킹 & 아침 9시 엑셀 메일 발송

소개

그동안 "언젠가는 회사일을 자동화를 해봐야지"라고 별러왔던 그 첫 번째 자동화를, 7시간 사투 끝에 완성

매일 아침 9시, 아무도 손대지 않아도 18개 키워드의 네이버 검색량이 엑셀로 정리되어 지메일로 날아오게 됨

시도하고자 했던 것과 그 이유------

회사 후배들이 매일 하는 반복작업이 짠했습니다. 광고 중인 브랜드와 연관 검색어를 매일 사이트에서 직접 찾아서 엑셀에 수동으로 입력하는 일이었습니다.

•       문제점: 18개 키워드의 검색량을 매일 수동으로 수집하고 엑셀에 입력하는 반복 작업이 후배들의 시간을 낭비하고 있었습니다.

•       목표: 키워드 검색량 수집부터 엑셀 정리, 메일 발송까지 전 과정을 자동화하여 매일 아침 9시에 리포트가 자동으로 전달되게 하는 것.

진행 방법-----------------

1) 3번째 봇 '긍정이' 탄생 — 총사령관의 등장

사실 이미 오픈클로 봇 '다정이'와 헤르메스 봇 '냉정이'가 있었습니다. 그런데 헤르메스를 두 번 설치하면서 뭔가 꼬인 상태였고, 냉정이에게 특별한 자동화를 시키지 않은 채 방치된 상황이었습니다.

그래서 결정했습니다. 처음부터 깔끔하게 재설치하자고. 모델은 그동안의 경험치로 가장 안정적이었던 클로드 하이쿠로 선택했습니다. 소네트와 오퍼스는 사라져도 하이쿠는 그대로라는 말을 들었고, API 키로 돌아가는 작업이라 토큰이 좀 들더라도 초기 투자비용이라 생각하고 넉넉히 쓰기로 했습니다.

새 봇의 이름은 '긍정이' 입니다.

이름에는 이유가 있습니다. 봇을 만들면서 가장 힘들었던 순간은 에러 지옥에 빠져 몇 시간씩 붙잡고 있을 때였습니다. 그때마다 "아, 그만둘까"라는 생각이 들었고, 그 순간 가장 필요했던 건 다름 아닌 긍정 마인드였습니다.

왜 정신과 의사쌤이신 승현님이 잘할 수 밖에 없는지 깨달아가는 과정이랄까…. 앞으로의 봇 생활을 위해서는 지치지 않는 긍정적인 에너지가 필요하다는 생각으로, 총사령관의 이름을 긍정이라 짓고 정(正) 자 돌림의 대가족을 만들었습니다. 다정이, 냉정이, 그리고 긍정이.

2) 네이버 검색량 API 연동 — 예상치 못한 벽

자동화의 첫 번째 관문은 네이버 검색량 데이터 수집이었습니다. 처음에는 간단할 것이라 생각했습니다. 그런데 현실은 달랐습니다.

1차 시도 — 네이버 DataLab API: 네이버 개발자 센터에 등록하고 API 키를 발급받았습니다. 그런데 치명적인 한계가 있었습니다. 네이버 DataLab은 일간 상대값만 제공합니다. 절대 검색량이 나오지 않습니다. "오늘 이 키워드가 100이면 어제보다 많은 건지 적은 건지"는 알 수 있지만, "실제로 몇 명이 검색했는지"는 알 수 없었습니다.

2차 시도 — 서핑(Surfing) 사이트 크롤링: 절대 검색량을 제공하는 다른 사이트를 찾아서 웹 크롤링을 시도했습니다. 그런데 해당 사이트는 크롤링을 막아두고 있었습니다. 번번이 실패했습니다.

최종 해법 — 네이버 광고주 센터 API: 긍정이와 함께 의논하며 찾아낸 해법은 네이버 검색광고 API였습니다. 네이버 광고주 센터에 사업자 등록을 하면 키워드의 월간 절대 검색량을 API로 가져올 수 있었습니다. DataLab의 일간 상대값과 광고주 센터의 월간 절대값, 두 가지를 함께 활용하는 방식으로 방향을 잡았습니다.

데이터 소스

제공 값

특징

네이버 DataLab API

일간 상대값

트렌드 흐름 파악

네이버 검색광고 API

월간 절대값

실제 검색량 파악

3) 엑셀 자동화 — 7번의 수정

데이터 수집에 성공했다고 끝이 아니었습니다. 이제 그 데이터를 보기 좋은 엑셀 파일로 만들어야 했습니다. 처음 만들어진 시트를 보니 마음에 들지 않았습니다. 글자 크기, 열 너비, 합계 계산 방식, 탭 구성... 하나씩 수정 요청을 하다 보니 총 7번의 수정 끝에 원하는 형태가 완성됐습니다.

최종 엑셀 구성은 다음과 같습니다.

•       탭 1: 18개 키워드별 일간 상대값 (DataLab)

•       탭 2: 18개 키워드별 월간 절대값 + 합계 (검색광고 API)

•       글자 크게, 한 줄 정렬, 한눈에 보이는 포맷

4) 지메일 자동 발송 — 앱 비밀번호의 벽

엑셀까지 완성됐으니 이제 매일 아침 9시에 자동으로 메일만 보내면 됩니다. 간단할 것 같았습니다. 그런데 여기서 또 한 번 벽을 만났습니다.

구글은 일반 계정 비밀번호로는 외부 앱에서 Gmail을 사용할 수 없습니다. 앱 비밀번호(App Password) 라는 별도의 인증 방식이 필요했습니다. 구글 계정 보안 설정에서 2단계 인증을 켜고, 앱 비밀번호를 발급받아 설정 파일에 입력하는 과정이었는데, 처음 몇 번은 계속 인증 오류가 났습니다. 여러 번의 시도 끝에 결국 해냈습니다.

launchd로 스케줄링을 설정하여 매일 오전 9시에 자동 실행되도록 구성했습니다.

결과와 배운 점-----------------

좋았던 점))

완성된 순간, 긍정이가 이렇게 말할 때 보상받는 느낌이 들었죠

와아아! 🎉🎉🎉
정말 축하합니다!!! 🚀

내일부터 매일 아침 자동으로:

1      키워드 데이터 수집 ✨ 2      Excel에 저장 📊 3     이메일로 발송 📧

당신은 그냥 받아서 보기만 하면 돼요! 😊

시행착오 / 아쉬운 점))

•       절대 검색량 수집의 우회로: 처음부터 네이버 광고주 센터 API를 알았다면 시간을 많이 아꼈을 것입니다. 네이버 DataLab만으로는 절대값을 얻을 수 없다는 점을 미리 알고 시작하는 것이 중요합니다.

•       7시간을 썼다: 본업을 했어야 마땅한 상황에 7시간을 쏟아붓고 너무 지쳐서 쓰러졌습니다. 자동화 작업은 집중할 수 있는 별도의 시간을 확보하고 시작하는 것을 권장합니다.

 (꿀팁)

•       Gmail 자동 발송은 앱 비밀번호 필수: 구글 계정의 일반 비밀번호로는 외부 스크립트에서 메일 발송이 안 됩니다. 2단계 인증 활성화 후 앱 비밀번호를 별도로 발급받아야 합니다.

•       엑셀 포맷은 처음부터 요구사항을 명확히: "보기 좋게 만들어줘"보다 "글자 크기 12pt, 열 너비 자동 맞춤, 합계 행 추가"처럼 구체적으로 요청할수록 수정 횟수가 줄어듭니다.

앞으로의 계획-------------------------------------------------------

봇을 만들고 키워가며 자동화를 해내는 이 일은 사실상 에러지옥을 마주하는 멘탈관리의 문제라고 생각합니다.

앞으로도 수많은 시련과 포기하고 싶은 순간이 있겠지만 긍정이와 긍정 회로를 돌리며 이겨낼 생각입니다.

다음 목표는 이번에 구축한 기반 위에 더 많은 반복 업무 루틴을 하나씩 자동화하는 것입니다.

업무 자동화의 첫 성공은 기술이 아니라 포기하지 않는 무한 긍정 마인드!

모두 감사했습니다. 이번 22기 스터디방 멤버들 너무 좋았고, 스터디장님 용기주셔서 너무 푸근했고 유익했어요!

본업이 바쁜 사람이다 보니 4주가 훨씬 더 짧아 아쉽네요. 계속 들어야 겠어요! 또 뵈어요!

5
1개의 답글

뉴스레터 무료 구독