구글 트렌드 데이터를 가져올 수 있는 비공식 API다.
특정 검색어의 시간대별, 지역별 검색량 추세나 연관 검색어를 대략적으로 파악할 수 있고,
국가 별로 필터링된 트렌드도 확인할 수 있다.
따로 CSV 파일을 다운로드 하지 않고 데이터를 바로 가져올 수 있다는 게 장점이 있다.
https://pypi.org/project/pytrends/#description
pytrends
Pseudo API for Google Trends
pypi.org
위 링크에서 설치 방법과 메소드 사용 방법을 익힐 수 있다.
가벼운 수준으로 데이터를 불러오고 plot 시켜보겠다.
실습환경은 주피터 노트북을 활용하였다.
import matplotlib.pyplot as plt
from matplotlib import rc
import pandas as pd
from pytrends.request import TrendReq
plt.rcParams['axes.unicode_minus'] = False
%matplotlib inline
필요한 라이브러리를 import하였다.
keyword = ['윤예주'] #트렌드를 조회할 검색어를 리스트 형태로 저장
pytrend = TrendReq() #구글 트렌드에 접속
pytrend.build_payload(keyword, timeframe="now 7-d") #지금으로부터 7일
trenddf = pytrend.interest_over_time() #데이터프레임 형태로 저장
trenddf
함수와 변수 설명은 주석으로 해놓았고, 따로 알아두면 좋은 것은 build_payload() 메소드의 timeframe 부분을
'today 5-y' -> 지금부터 5년 간 추세 데이터,
'YYYY-MM-DD YYYY-MM-DD' -> 특정 년월일부터 특정 년월일까지 등
다양한 방법으로 기간을 지정할 수 있다는 것이다. 더 자세한 방법은 홈페이지 참조.
기간 설정이 잘못되면 ResposeError code 400 나오는데 이거 때문에 좀 시행착오 겪었다.
코드를 실행하면 trenddf 변수에 위와 같은 데이터프레임이 저장된다.
plt.style.use("ggplot")
plt.figure(figsize=(24,8))
trenddf["윤예주"].plot()
plt.title("pytrends start", size=15)
아주 간단한 방법으로 시각화해보면 위와 같은 그래프를 볼 수 있다.
최근 일주일 간 유독 1월 4일에 검색량이 많은 것을 볼 수 있고,
해당 배우가 1월 4일에 새 회사와 계약을 맺으며 여러 개의 기사가 나오며 주목 받은 점과 연관지어 설명할 수 있다.
https://www.wowtv.co.kr/NewsCenter/News/Read?articleId=A202201040287
윤예주 HB엔터테인먼트와 전속계약 체결새로운 도약 예고
배우 윤예주가 HB엔터테인먼트와 전속계약을 체결, 새로운 도약에 나선다. 4일 HB엔터테인먼트 측은 “현실감 넘치는 연기로 시청자들에게 눈도장을 찍었던 배우 윤예주와 좋은 인연을 맺게 됐
www.wowtv.co.kr
검색량 표본이 적은 키워드 말고 복수의 키워드 리스트의 트렌드도 plot 해보았다.
코드는 생략한다.
2022년 1월 기준 지난 3개월 간 3개의 드라마의 검색 추세를 살펴보면
지리산과 지금 헤어지는 중입니다는 계속해서 감소하는 모습을 보이는 반면
옷소매 붉은 끝동은 지금까지 증가하는 모습이다.
세 드라마는 거의 동일한 방영하였고, 드라마 흥행 수준 + 시청률과 보여지는 트렌드가 일맥상통하다 볼 수 있다.
지리산 같은 경우 나머지 두 드라마에 비해 방영 시작일이 한 달 정도 빠르다는 것도 그래프에 반영되어 있다.
tmi를 덧붙이자면 본인은 옷소매 붉은 끝동만 본방사수 하였다. (나머진 재미 없더라.)
두 사례는 모두 본인이 매우 잘 아는 분야이기 때문에 사실 그래프를 보기 전부터 해석할 수 있었지만,
pytrends API를 잘 활용하면 사전정보 없이 어떤 목적에 상응하는 꽤나 유용한 인사이트를 얻을 수 있을 것이다.
'컴퓨터사이언스 > 파이썬 & 알고리즘' 카테고리의 다른 글
알고리즘 분석과 복잡도 표기법(Big-O) (0) | 2022.09.16 |
---|---|
코딩테스트를 대비한 파이썬 자주 쓰이는 문법 모음 (0) | 2022.08.30 |
Jupyter Notebook에서 Matplotlib 한글 깨짐 오류 영구적으로 수정하기 (0) | 2022.01.26 |
Pycharm(파이참)에 Django(장고) 설치 (1) | 2022.01.01 |
Function design recipe (Docstring) (2) | 2021.09.17 |