본문 바로가기
문송충의 코딩하기/네이버 API

[파이썬] - "마켓컬리" 키워드가 포함된 네이버 블로그 포스팅 수 확인해보자 with 네이버 API

by 동장군님 2020. 10. 28.
728x90
반응형

마켓컬리

최근에 마켓컬리 인사이트라는 책을 재밌게 읽었다. 마켓컬리라는 서비스를 한 번도 사용하지 않았지만 현재 이커머스 업계에서는 마켓컬리 만큼 가장 소비자로부터 관심을 받는 플랫폼이 없기 때문에 이번 포스팅의 주제로 잡았다. 마켓컬리가 물론 샛별뱃송이라는 획기적인 배송 서비스와 전지현이 출현한 광고로 많은 이름을 알렸지만 내가 보기에는 소비자가 실제 사용하고 남긴 후기들이야말로 마켓컬리의 현재를 만들었다고 본다. 그래서 이번 포스팅에서는 우선 간략히 네이버 검색 블로그 API를 활용해서 실제로 마켓컬리 관련 블로그 포스팅 개수가 실제로 많이 증가했는지 파이썬을 활용해서 시계열 분석을 해보고자 한다. 마켓컬리가 아직 상장은 안했지만 지금부터 천천히 분석해서 나중에 상장했을 때 투자에 참고하고자 한다. ㅋ

 

 


 

네이버 검색 블로그 API

아래 링크에서 우선 API 키 발급 신청을 해야 된다.

 

developers.naver.com/docs/search/blog/

 

검색 API 블로그 검색 개발가이드

NAVER Developers - 검색 API 블로그 검색 개발가이드

developers.naver.com

 


 

데이터 추출 코드

내가 항상 하는 말이지만 내 코드는 굉장히 쉽다. 아쉬운 점은 해당 API에서 전체 10만 행의 데이터만 주지 않다는 것이다. 마켓컬리 관련 포스팅 수가 약 15만 개로 확인이 돼서 아래 분석에서는 5만 개 데이터는 누락되었다는 점은 참고 바란다. 검색 페이지에서 최대 100개만 추출이 가능해서 여기서도 반복문을 통해 데이터를 다 가져오도록 하겠다.

 

import os
import sys
import urllib.request
client_id = "~"
client_secret = "~"

header_parms ={"X-Naver-Client-Id":client_id,"X-Naver-Client-Secret":client_secret}
keywords='마켓컬리'

dates=[]
titles=[]
links=[]

for i in range(1,1001):
    api = f"https://openapi.naver.com/v1/search/blog.json?query={keywords}&display=100&start=i" # json 결과
    res=requests.get(api,headers=header_parms)
    
    for a in data['items']:
        dates.append(a['postdate'])
        titles.append(a['title'])
        links.append(a['link'])

 

데이터 DataFrame화

다음으로 데이터 전처리해서 시각화를 위한 준비를 하겠다. 뭐 딱히 할 게 없다. 데이터 중 날짜만 아래와 같이 잘 정리하면 끝이다. 10만 개를 추출해서 당연히 최소 작년까지 데이터가 있는 줄 알았는데 결과를 보니 10만 개 블로그 포스팅 모두 20년 2월 이후에 업로드가 되었다. 마켓컬리가 이 정도로 사람들로부터 관심을 받는지 몰랐다. 

import pandas as pd
import datetime

df=pd.DataFrame([dates,titles,links]).T
df.columns=['날짜','제목','링크']

df['제목']=df['제목'].str.replace('<b>','')
df['제목']=df['제목'].str.replace('</b>','')

df['날짜']=df['날짜'].apply(lambda x: datetime.datetime.strptime(x,'%Y%m%d'))
df['년/월']=df['날짜'].apply(lambda x:int(x.strftime('%y%m')))
df['년']=df['날짜'].apply(lambda x:int(x.strftime('%y')))

df=df.sort_values(by='년/월',ascending=True)
df2=df.groupby('년/월').count()['제목']

 

시각화

무슨 이유때문인지는 모르겠지만 20년 5월부터 8월까지 마켓컬리 관련 포스팅 수는 수만 개로 급등한 점을 확인할 수 있다. 코로나가 본격적으로 터져서 그런건지 아니면 마켓컬리에서 무슨 후기 관련 이벤트를 했는지는 조금 찾아봐야겠다.

 

 

앞으로 이런식으로 특정 기업에 대한 온라인 언급 수 관련해서 분석하고자 한다. 끝!

 

 

728x90
반응형

댓글