본문 바로가기

API

네이버 검색광고 API 연관검색어 결과 가져오기(파이썬)

반응형

naver 검색광고 API에서 연관검색어에 대한 결과를 가져오는 방법을 확인해보겠습니다.

 

1. naver검색광고 API 가입 및 API key확인

2. 연관검색어 결과 확인

 

1. naver검색광고 API 가입 및 API key확인

가입이 되어 API 활용하시는 분은 2번으로 넘어가시면 됩니다.

https://yenpa.tistory.com/11

 

네이버 검색 광고 API 가입 및 API KEY 확인하기

1. 네이버 검색 광고 API가입하기 2. API 키 및 CUSTOMER_ID 확인하기 1. 네이버 검색 광고 API가입하기 네이버 광고 사이트에 이동합니다. https://searchad.naver.com/ 네이버 광고 searchad.naver.com 가입이..

yenpa.tistory.com

 

2. 연관검색어 결과 확인

확인할 데이터는 아래 그림의 RelKwdStat(연관 검색어)의 결과가 되겠습니다.

참고로 네이버 API의 홈페이지는 아래사이트 참고하시면 됩니다.

https://naver.github.io/searchad-apidoc/#/guides

 

searchad-apidoc

 

naver.github.io

https://github.com/naver/searchad-apidoc

 

GitHub - naver/searchad-apidoc

Contribute to naver/searchad-apidoc development by creating an account on GitHub.

github.com

전체 코드를 확인해보겠습니다.

import os
import sys
import urllib.request
import json
import pandas as pd
import matplotlib.pyplot as plt
import time
import random
import requests


import hashlib
import hmac
import base64


class Signature:

    @staticmethod
    def generate(timestamp, method, uri, secret_key):
        message = "{}.{}.{}".format(timestamp, method, uri)
        hash = hmac.new(bytes(secret_key, "utf-8"), bytes(message, "utf-8"), hashlib.sha256)
        
        hash.hexdigest()
        return base64.b64encode(hash.digest())
    

def get_header(method, uri, api_key, secret_key, customer_id):
    timestamp = str(round(time.time() * 1000))
    signature = Signature.generate(timestamp, method, uri, secret_key)
    
    return {'Content-Type': 'application/json; charset=UTF-8', 'X-Timestamp': timestamp, 
            'X-API-KEY': api_key, 'X-Customer': str(customer_id), 'X-Signature': signature}


def getresults(hintKeywords):

    BASE_URL = 'https://api.naver.com'
    API_KEY = 'YOUR_API_KEY'
    SECRET_KEY = 'YOUR_SECRET_KEY'
    CUSTOMER_ID = 'YOUR_CUSTOMER_ID'

    uri = '/keywordstool'
    method = 'GET'

    params={}

    params['hintKeywords']=hintKeywords
    params['showDetail']='1'

    r=requests.get(BASE_URL + uri, params=params, 
                 headers=get_header(method, uri, API_KEY, SECRET_KEY, CUSTOMER_ID))

    return pd.DataFrame(r.json()['keywordList'])

 

 

반응형

 

 

Signature class와 get_header 함수는 Header정보를 가져오는 부분으로 github 사이트의 

'searchad-apidoc/python-sample/examples' 의 예제를 그대로 사용했습니다.

 

API_KEY, SECRET_KEY, CUSTOMER_ID 본인의 정보를 입력하시면 됩니다.

BASE_URL = 'https://api.naver.com'
API_KEY = 'YOUR_API_KEY'
SECRET_KEY = 'YOUR_SECRET_KEY'
CUSTOMER_ID = 'YOUR_CUSTOMER_ID'

참고로 naver광고검색 사이트의 엑세스라이선스=API_KEY, 비밀키=SECRET_KEY가 됩니다.

결과에서 'keywordList' 부분만 DataFrame으로 만들었습니다.

return pd.DataFrame(r.json()['keywordList'])

강원도풀빌라로 검색한 결과가 되겠습니다.

hintKeywords=['강원도풀빌라']

resultdf = getresults(hintKeywords)
resultdf

강원도풀빌라의 결과만 확인하는 코드입니다.

결과 항목의 의미는 아래와 같습니다.

{
    "relKeyword": string,                         : 연관키워드
    "monthlyPcQcCnt": string,                : 월간검색수(PC)
    "monthlyMobileQcCnt": string,          : 월간검색수(모바일)
    "monthlyAvePcClkCnt": string,          : 월평균클릭수(PC) 
    "monthlyAveMobileClkCnt": string,    : 월평균클릭수(모바일)
    "monthlyAvePcCtr": string,                : 월평균클릭률(PC)
    "monthlyAveMobileCtr": string,          : 월평균클릭률(모바일)
    "plAvgDepth": string,                         : 월평균노출광고수
    "compIdx": string                               : 경쟁정도
}

 

이상으로 naver 검색광고 API에서 연관검색어에 대한 결과를 가져오는 방법을 확인해봤습니다.

반응형