본문 바로가기
Python

[파이썬] 네이버 광고 API 활용해보기

by 퍼포먼스마케팅코더 2022. 8. 7.
반응형

이거는 이전에도 설명을 드렸었기는 했는데 더 자세하게 아까 말씀을 드리고자 해서 하나 더 가지고 온 거예요. 파이 네이버 광고 api 활용하는 방법입니다. 이걸 어렵게 생각하시는 분들이 많긴 하더라고요 네이버 광고 api 같은 경우에는 다 영문으로 돼 있어요. 자세한 설명을 확인을 하는 게 번거로워 보이실 것 같아서 가지고 와봤습니다. 실제로 어려운 내용은 거의 없거든요. 뭐랄까 사용하는 내용도 거의 다 비슷비슷합니다. 어차피 키워드 검색량 안에서 api 내에서 그것만 판다스로 데이트 프레임으로 가지고 와서 확인하는 용도 이외에는 그렇게 근데 많이 쓰이기도 해요. 

파이썬 네이버 광고 API 활용해보기

저 같은 경우에도 어떤 특정 검색어가 뜬다라는 게 있으면 자주 사용하기도 하고요 유용하다 뭐 그런 것도 있죠. 네이버 검색량 이런 것들 확인을 할 때 쓰는 api라고 보시면 될 것 같고요 이 외적으로 어떤 분들은 네이버 광고를 직접적으로 이제 api를 가지고 와서 그걸로 관리하시는 분들도 있다고 하시더라고요 그거는 워낙 전문가이신 분들이니까 그렇게 된다라는 게 있으면 그렇게 하면 될 것 같고 근데 뭐 저는 네이버 검색량 확인하는 용도이기 때문에 여기 안에서도 api 키 시크릿 키 그다음에 커스터머 아이디가 있는데 그거 간만 입력해서 바로 엔터만 치면 이거 바로 검색량 정보가 바로 나오는 코딩이거든요. 그것만 참고만 하시고 사용해보시면 될 것 같습니다. 오로 간단해요. 그렇게 어려운 내용은 없었고 단순하게 돼 있습니다.

keyword = '갤럭시워치4베젤링' #키워드검색

BASE_URL = 'https://api.naver.com'
API_KEY = ''
SECRET_KEY = ''
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]

 

반응형

댓글