본문 바로가기
Python

[Python] 네이버 광고 API 키워드 검색

by 퍼포먼스마케팅코더 2022. 6. 19.
반응형

바빠서 시간이 부족하거나 코딩이 처음인 분들이 많이 계십니다. 시간이나 실패에 대한 걱정 없이 누구나 손쉽게 코딩을 배우고 도전할 수 있도록 업무자동화,디지털마케팅 등에 쓰일만한 여러 가지 파이썬 코드를 만들고 있습니다. 네이버 광고 API 키워드 검색를 파이썬 코드 공유드립니다. 이에 오늘 하루도 해당 공유로 여러분들의 소중한 업무시간의 단축이 있길 바랍니다. 

 

파이썬 네이버 광고 API 키 발급

 

먼저 네이버 광고 API 키 발급이 필요합니다. 이는 하단의 사이트에 먼저 들어가 봅시다. 

 

https://manage.searchad.naver.com/customers/customerid/tool/api

 

네이버 광고

 

manage.searchad.naver.com

 

그리고 이후에 도구 옵션에서 > API 사용관리를 클릭합니다.

 

파이썬 네이버 광고 API 키 발급

 

그럼 하단과 같이 Customer_ID 액세스라이선스, 비밀키가 나옵니다.

해당 부문을 메모장으로 따로 기록해둡시다.

파이썬 네이버 광고 API 키 발급

 

파이썬 네이버 광고 API 키워드 검색

 

밑에는 이제 네이버 API 광고 키워드를 검색하면 나오는 결과값을 볼 수 있는 파이썬 코드입니다.  보시면 아시겠지만, keyword 란에 키워드 검색하고 해당 코드를 실행하면은 결과값이 나옵니다. 데이터프레임 형식으로 나오는데, 이는 따로 변형도 가능합니다. 주로 디지털 마케팅에서 키워드에 대한 검색량 확인하는게 매우 중요하니 넣어보았습니다.

 

파이썬 네이버 광고 API 키워드 검색

 

하단의 코드실행결과인데, 여기에서 api_key에 액세스 라이선스 키를 넣으시고, secret_key 란에 비밀키를 입력하시면됩니다. 그리고 마지막으로 customer ID는 그 customer ID를 넣고, 최종 키워드 입력을 하고 넣으면은 완료됩니다. 

import requests
import time
import  hmac
import  hashlib
import  base64
import  pandas as pd

keyword = '케이블' #키워드검색

BASE_URL = 'https://api.naver.com'
API_KEY = ''  #api 키
SECRET_KEY = '' #api 시크릿키
CUSTOMER_ID = '' #customer ID 키 입력
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 = hmac.new(secret_key.encode("utf-8"), message.encode("utf-8"), hashlib.sha256)
    hash.hexdigest()
    return base64.b64encode(hash.digest())
def get_header(method, uri, api_key, secret_key, customer_id):
    timestamp = str(int(time.time() * 1000))
    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}

dic_return_kwd = {}
naver_ad_url = '/keywordstool'
#_kwds_string = '원피스' #1개일경우
#_kwds_string = ['나이키', '원피스', '운동화'] #키워드 여러개일경우
method = 'GET'
prm = {'hintKeywords' : keyword , 'showDetail':1}
#    ManageCustomerLink Usage Sample
r = requests.get(BASE_URL + naver_ad_url, params=prm, headers=get_header(method, naver_ad_url, API_KEY, SECRET_KEY, CUSTOMER_ID))

r_data = r.json()
naver_ad_summary = pd.DataFrame(r_data['keywordList'])  

naver_ad_summary[:1]   #[:1]

 

반응형

댓글