2020년 2월 27일 목요일

python: 네이버 광고 API 사용하기

naverAdApi

python 으로 네이버 광고 API 사용하기

세줄요약

  1. 네이버 광고 API에 사용할 key 생성하기
  2. header 함수 생성
  3. 필요한 api 구현

1. 네이터 광고 API에 사용할 key 생성하기

keyGen

1.1 생성된 key를 변수에 저장

In [1]:
BASE_URL = 'https://api.naver.com'
CUSTOMER_ID = '(1)'
API_KEY = '(2)'
SECRET_KEY = '(3)'

2. header 함수 생성

In [2]:
import hashlib, hmac, base64, requests, time

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}

3. 필요한 api 구현 ( 연관검색어 )

In [6]:
def call_RelKwdStat(_kwds_string):
    dic_return_kwd = {}
    uri = '/keywordstool'
    method = 'GET'
    prm = {'hintKeywords' : _kwds_string , 'showDetail':1}

    # ManageCustomerLink Usage Sample
    r = requests.get(BASE_URL + uri, params=prm, headers=get_header(method, uri, API_KEY, SECRET_KEY, CUSTOMER_ID))
    r_data = r.json()
    
    return r_data
In [7]:
# return된 결과 길이 확인
len(call_RelKwdStat('원피스')['keywordList'])
Out[7]:
1200
In [8]:
# 최대 5개의 키워드 입력 가능
kwd_list = ['나이키','원피스', '운동화']
kwds_string = ','.join(kwd_list)
returnData = call_RelKwdStat(kwds_string)
In [10]:
# 상위 키워드 확인
import pandas as pd
df = pd.DataFrame(returnData['keywordList'])
df.sort_values(by='monthlyAveMobileCtr', ascending=False)[:10]
Out[10]:
compIdx monthlyAveMobileClkCnt monthlyAveMobileCtr monthlyAvePcClkCnt monthlyAvePcCtr monthlyMobileQcCnt monthlyPcQcCnt plAvgDepth relKeyword
1001 중간 1.0 50.00 2.0 66.67 < 10 < 10 1 9GRAP
339 낮음 0.5 50.00 0.0 0.00 < 10 < 10 0 샤르망앤코
1162 높음 0.3 33.34 0.0 0.00 < 10 < 10 15 여자신발쇼핑몰추천
798 높음 2.0 20.00 0.3 16.67 10 < 10 3 반팔티할인
782 높음 11.7 14.23 2.3 7.53 70 20 15 남성빅사이즈신발
127 높음 3253.0 12.58 281.9 8.16 27100 3760 15 키큰여자쇼핑몰
778 높음 15.0 12.30 1.8 9.48 110 20 15 남자큰신발
510 높음 7.3 12.17 0.3 4.45 50 < 10 15 여성운동화쇼핑몰
481 높음 4.0 12.13 0.5 10.67 30 < 10 15 여자운동화쇼핑몰
946 낮음 3.5 12.07 0.0 0.00 30 < 10 0 반스블랙볼키즈

댓글 없음:

댓글 쓰기

추천 게시물

python: SVD(Singular Value Decomposition)로 간단한 추천시스템 만들기( feat. surprise )

svd_example In [15]: # !pip install surprise In [21]: from...