Data Analysis/LifeStyles

네이버 쇼핑인사이트 - 종근당 락토핏 유산균 검색 클릭량 추이 가져오기 With Python

동장군님 2021. 6. 25. 23:28

최근에 내 투자 포트폴리오에 추가한 기업 종근당 기업의 대표적인 건강기능식품 제품 락토핏 유산균 관련 데이터 분석을 하도록 하겠다. 우선 간략하게 네이버에서 제공해주고 있는 쇼핑인사이트 API를 통해서 제품 검색, 클릭량 추이를 한번 시각화해보도록 하겠다. 

 

1. 락토핏 VS 경쟁 제품 네이버 쇼핑 검색, 클릭량 추이 비교

락토핏의 경쟁사라고 볼 수 있는 프롬바이오, 덴프스, CJ BYO, JW 중외제약과 지난 2년 간 검색 클릭량 추이를 비교하도록 하겠다.

 

유산균 시장을 이끄는 대표 제품인 만큼 락토핏 제품이 압도적으로 소비자로부터 큰 관심을 받고 있는 중이다. 대체적으로 락토핏을 포함해서 모든 유산균 제품이 몇 년간 데이터가 계속 증가하고 있는 점을 확인할 수 있다.

import os
import sys
import urllib.request
import json
import pandas as pd
import plotly.express as px

client_id = "~~"
client_secret = "~~"

url = "https://openapi.naver.com/v1/datalab/shopping/category/keywords";
body = '''{\"startDate\":\"2019-06-01\",\"endDate\":\"2021-05-31\",\"timeUnit\":\"month\",
\"category\":\"50000023\",\"keyword\":[{\"name\":\"락토핏\",\"param\":[\"락토핏 유산균\"]},
{\"name\":\"프롬바이오\",\"param\":[\"프롬바이오 유산균\"]},
{\"name\":\"덴프스\",\"param\":[\"덴프스 유산균\"]},
{\"name\":\"CJ BYO\",\"param\":[\"BYO 유산균\"]},
{\"name\":\"JW중외제약\",\"param\":[\"JW중외제약 프로바이오틱스\"]}
],
\"device\":\"\",\"ages\":[],\"gender\":\"\"}'''

request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
request.add_header("Content-Type","application/json")
response = urllib.request.urlopen(request, data=body.encode("utf-8"))

rescode = response.getcode()

if(rescode==200):
    response_body = response.read()
    scraped=response_body.decode('utf-8')
else:
    print("Error Code:" + rescode)
    
products=['락토핏','프롬바이오','덴프스','GC녹십자','JW중외제약']
df=pd.DataFrame(columns=['period','ratio','Keyword'])


for i in json.loads(scraped)['results']:
    temp=pd.DataFrame(i['data'])
    temp['Keyword']=products[json.loads(scraped)['results'].index(i)]
    df=df.append(temp,ignore_index=True)
    
fig = px.line(df, x="period", y="ratio", color='Keyword',title='유산균 브랜드 네이버 검색 클릭량 추이')
fig.show()

 

2. 락토핏 남녀 쇼핑 차이 비교

 

네이버 쇼핑 인사이트에는 성별, 연령별 데이터도 제공해주고 있는데, 오늘 포스팅에서는 남성, 여성별 락토핏 검색, 클릭량 추이를 확인해보도록 하겠다. 이게 상대적인 지표라서 데이터를 직접적으로 비교할 수는 없지만 단순한 추이는 확인할 수는 있을 것 같다.

 

코로나 영향인지는 모르겠지만 확실히 2020년부터 남녀 관계없이 락토핏 검색, 클릭량이 급증하는 점을 확인할 수 있다. 2021년 1월에 남녀 모두 락토핏에 대한 관심이 피크를 찍은 점을 볼 수 있다. 

 

url = "https://openapi.naver.com/v1/datalab/shopping/category/keywords";
body = '''{\"startDate\":\"2019-06-01\",\"endDate\":\"2021-05-31\",\"timeUnit\":\"month\",
\"category\":\"50000023\",\"keyword\":[{\"name\":\"락토핏\",\"param\":[\"락토핏 유산균\"]}],
\"device\":\"\",\"ages\":[],\"gender\":\"m\"}'''

request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
request.add_header("Content-Type","application/json")
response = urllib.request.urlopen(request, data=body.encode("utf-8"))

rescode = response.getcode()

if(rescode==200):
    response_body = response.read()
    male_scraped=response_body.decode('utf-8')
else:
    print("Error Code:" + rescode)

male=pd.DataFrame(json.loads(male_scraped)['results'][0]['data'])
male['sex']='male'

url = "https://openapi.naver.com/v1/datalab/shopping/category/keywords";
body = '''{\"startDate\":\"2019-06-01\",\"endDate\":\"2021-05-31\",\"timeUnit\":\"month\",
\"category\":\"50000023\",\"keyword\":[{\"name\":\"락토핏\",\"param\":[\"락토핏 유산균\"]}],
\"device\":\"\",\"ages\":[],\"gender\":\"f\"}'''

request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
request.add_header("Content-Type","application/json")
response = urllib.request.urlopen(request, data=body.encode("utf-8"))

rescode = response.getcode()

if(rescode==200):
    response_body = response.read()
    female_scraped=response_body.decode('utf-8')
else:
    print("Error Code:" + rescode)

female=pd.DataFrame(json.loads(female_scraped)['results'][0]['data'])
female['sex']='female'

mf=male.append(female)

fig = px.line(mf, x="period", y="ratio", color='sex',title='남녀 성별 "락토핏" 키워드 네이버 검색 클릭량 추이')
fig.show()
fig.to_json()

 

종근당홀딩스에 투자한 이상 앞으로도 종근당 관련된 데이터를 계속 분석하도록 하겠다.