마케터 야근 줄이기 프로젝트 1 ( 네이버 검색 광고 결과 가져오기)

왜, 마케터는 야근을 하는지 참 궁금했습니다. 마케터가 되어 보니 어느 정도 이유를 알 거 같더군요 . 하지만 코드를 아는 이상 수동으로 하는 반복 작업에 계속 당할 수는 없었습니다. 그래서 오늘은 마케터의 야근 줄이기 프로젝트, 첫 번째 시간을 가져보려고 합니다.


첫 번째 코드는 네이버 키워드 검색 시 검색 광고 영역의 광고 순위를 확인할 수 있는 도구입니다. 보통 이 순위를 매번 확인하지는 않는데요. 네이버 대시보드 특성 상 데이터의 반영이 느립니다. 즉 실시간으로 확인하기 어려운 경우가 많죠.

이때 핵심 키워드에 대해서는 실시간으로 바뀌는 순위에 대응할 필요가 있는데요. 이때 여러 키워드를 한 번에 실시간으로 순위를 가져오는 프로그램을 만들었습니다.

내가 필요한 키워드를 넣고, 프로그램을 실행하면, 해당 키워드에 대한 PC, MO 검색 광고 키워드를 확인할 수 있습니다.

만약 사이트가 블로그거나, 네이버 카페일 경우, 검색 광고 지면이 첫 번째로 노출되지 않는 키워드의 경우 제대로 결과가 나오지 않을 수 있습니다만..문제를 알고 있으니 고쳐보도록 노력하겠습니다..ㅎ


import axios from 'axios';
import * as cheerio from 'cheerio';

// 네이버 검색 결과 URL
// 원하는 키워드를 []에 '키워드1', '키워드2'의 형식으로 넣어주세요.
const keywords = [];

const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));

const start = async (url) => {
    for (const keyword of keywords) {
        axios
            .get(`${url}${keyword}`)
            .then((response) => {
                const html = response.data;
                const $ = cheerio.load(html);
                let searchResult = ``;

                // class="site"인 태그의 텍스트 값을 추출
                $('.site').each((index, element) => {
                    const company = $(element).text();
                    searchResult += `${index + 1}. ${company}\n`;
                });

                console.log(`${url === 'PC' ? 'PC' : 'MO'} [${keyword}]`);
                console.log(`${searchResult}`);
            })
            .catch((error) => {
                console.error('Error fetching data:', error);
            });
        await sleep(700);
    }
};

start(`https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=`);
start(`https://m.ad.search.naver.com/search.naver?where=m_expd&query=`);

위 코드를 그대로 vscode에 복붙하면 바로 라이브가..가능하지 않습니다. 우선 이 글을 읽는 유저의 노트북에 (window 기준) node.js와 vscode, git bash가 깔려 있어야 합니다. 그래야 node.js 를 통해 해당 코드를 실행시킬 수 있습니다. 이 부분은 꼭, 추후에 업로드 하겠습니다.

그리고 node.js 를 깔면 같이 깔리는 npm으로 axios와 cheerio를 같이 다운 받아 주어야 합니다. 이를 도와 주는 것이 git bash라는 친구로 리눅스 환경에서 bash shell 을 사용할 수 있도록 합니다.


부족한 게 많지만 version 1 으로 생각하고 하나씩 올려 보도록 하겠습니다. 감사합니다.

Read more

마케터를 위한 개발 환경 세팅

마케터가 개발 환경을 세팅할 일은 많이 없습니다. 하지만 코드를 조금씩 다루고 싶다면, 코드가 내 문제를 해결해 줄 수 있다면 개발 환경을 세팅해 빠르게 테스트 해볼 수 있는데요. 오늘은 가장 간단하게 코드를 돌려볼 수 있는 개발 환경을 세팅해 보도록 하겠습니다. 첫 번째로 어떤 것들이 필요한 지 알아보도록 할게요. 처음 보는 단어라도

By noah

GA4 이것만 알면 된다 1탄

이번 글은 GA4를 쉽게 이해하기 위해 준비한 시리즈, GA4 이것만 알면 된다 중 첫 번째 내용입니다. 사실 GA4를 잘 활용하기 위해선 크게 두 가지 개념만 이해하면 된다고 생각합니다. 나머지는 문제를 어떻게 정의하는지, 문제를 해결하기 위한 가설을 수립하고 이에 맞는 지표를 설정할 수 있는지 등. GA4에서는 해결할 수 없는 부분들이구요. 그럼

By noah

초등학생도 이해할 수 있는 API

마케터도 이해할 수 있는 개발 지식, 첫 번째 내용은 API에 대한 이해입니다. API는 지금의 인터넷 세상을 이루고 있는 근간이기도 하며, 서로 떨어진 컴퓨터들이 소통할 수 있는 많은 방법 중 가장 널리 사용되고 있는 개념이기도 한데요. 더 깊이 들어가면 이 역시 계층이 나뉘지만 오늘은 마케터 관점에서 API를 어디까지, 어떻게 이해하면 좋을지

By noah