서론

데이터 분석이 점점 중요해지는 오늘날, 사용자들이 어떤 주제에 관심을 가지고 있는지 파악하는 것은 매우 유용합니다. Google Trends는 특정 키워드에 대한 검색 트렌드를 분석할 수 있는 유용한 도구입니다. 이를 Python에서 활용할 수 있게 해주는 라이브러리가 바로 pytrends입니다. 본 포스트에서는 pytrends 라이브러리의 핵심 클래스인 TrendReq의 사용법과 몇 가지 예제 코드를 소개하고, 이를 통해 실시간으로 구글 트렌드를 분석하는 방법을 설명합니다. 또한, Google Trends에서 사용하는 관심도 수치의 의미와 정의에 대해서도 다룹니다.

본론

TrendReq란?

Google의 트렌드 데이터를 Python에서 쉽게 가져올 수 있도록 해주는 모듈이 pytrends입니다. TrendReq는 pytrends 모듈에서 Google Trends API에 요청을 보내기 위한 핵심 클래스입니다. 이 클래스를 통해 특정 키워드의 트렌드 데이터를 가져오고, 이를 분석할 수 있습니다.

TrendReq 설치

우선, pytrends 라이브러리를 설치해야 합니다. pip 명령어를 통해 설치할 수 있습니다.

pip install pytrends

TrendReq 기본 사용법

TrendReq 클래스는 여러 가지 트렌드 관련 기능을 제공합니다. 다음은 그 기본적인 사용법입니다.

# 라이브러리 임포트
from pytrends.request import TrendReq

# TrendReq 객체 생성
pytrends = TrendReq(hl='en-US', tz=360)

# 검색할 키워드 설정
keywords = ['Python', 'Data Science', 'Machine Learning']

# 관심 있는 키워드로 트렌드 요청
pytrends.build_payload(keywords, cat=0, timeframe='today 5-y', geo='', gprop='')

# 트렌드 데이터 가져오기
data = pytrends.interest_over_time()

# 데이터 출력
print(data)

위 코드에서는 TrendReq() 객체를 생성하고, 검색할 키워드를 설정한 후 트렌드 데이터를 요청합니다. 여기서 중요한 매개변수는 다음과 같습니다:

  • hl: 언어 설정으로 기본적으로 ‘en-US’를 사용합니다.
  • tz: 타임존 설정으로 기본값은 360입니다 (미국 태평양 표준시).
  • build_payload: 키워드, 카테고리, 시간 프레임 등의 설정을 통해 데이터를 구성합니다.

주요 기능 및 예제

1. 특정 키워드의 시간대별 관심도 조회

아래 코드는 지난 5년 동안 특정 키워드에 대한 관심도를 시간대별로 조회하는 예제입니다.

# 트렌드 데이터 시간대별 조회
pytrends.build_payload(['Python'], timeframe='today 5-y')
interest_over_time_df = pytrends.interest_over_time()

# 결과 출력
print(interest_over_time_df.head())

결과 화면 예시:

            Python  isPartial
date                          
2019-01-06     62       False
2019-01-13     61       False
2019-01-20     59       False
2019-01-27     58       False
2019-02-03     57       False

이 데이터는 ‘Python’ 키워드에 대한 지난 5년간 주별 관심도를 보여줍니다. 관심도 수치는 상대적인 값으로, 가장 높은 검색량을 100으로 하고 나머지는 상대적으로 표준화된 값입니다.

2. 관련 검색어 조회

특정 키워드와 관련된 인기 검색어를 조회할 수도 있습니다.

# 관련 검색어 조회
related_queries_dict = pytrends.related_queries()

# 결과 출력
print(related_queries_dict)

결과 화면 예시:

{'Python': {'top':                 query  value
0      python tutorial     100
1      python download      96
2          python code      85
3  python programming      79,
 'rising':           query  value
0  python list comprehension   150
1          python ide           130}}

3. 특정 지역의 관심도 분석

특정 국가 또는 지역에서의 관심도를 분석하는 방법도 매우 유용합니다. 아래 코드는 지역별 관심도를 조회하는 방법입니다.

# 지역별 관심도 분석
pytrends.build_payload(['Python'], timeframe='today 5-y', geo='US')
interest_by_region_df = pytrends.interest_by_region()

# 결과 출력
print(interest_by_region_df.head())

결과 화면 예시:

               Python
geoName                
California         100
New York            95
Texas               90
Florida             88
Washington          85

4. 상승 중인 트렌드 키워드 조회

Google Trends는 실시간으로 상승 중인 트렌드 키워드를 조회할 수도 있습니다.

# 실시간 트렌드 키워드 조회
trending_searches_df = pytrends.trending_searches()

# 결과 출력
print(trending_searches_df.head())

결과 화면 예시:

                        0
0           Facebook outage
1              World Cup 2022
2         Netflix subscription
3               Stock market
4    Bitcoin price prediction

5. 관심도 비교

두 개 이상의 키워드에 대해 관심도를 비교할 수 있습니다. 예를 들어, ‘Python’과 ‘Java’ 키워드를 비교해보겠습니다.

# 두 개의 키워드 관심도 비교
pytrends.build_payload(['Python', 'Java'], timeframe='today 5-y')
comparison_df = pytrends.interest_over_time()

# 결과 출력
print(comparison_df.head())

결과 화면 예시:

            Python  Java  isPartial
date                                
2019-01-06     62     58      False
2019-01-13     61     59      False
2019-01-20     59     56      False
2019-01-27     58     57      False
2019-02-03     57     58      False

Google 트렌드에서 사용하는 관심도 정의

Google 트렌드에서 제공하는 관심도(Interest)는 특정 시간대 또는 지역에서 특정 검색어의 상대적인 검색량을 나타냅니다. 관심도는 0에서 100까지의 값으로 표현되며, 다음과 같은 의미를 가집니다:

  • 100: 해당 시간대/지역에서 검색어가 가장 많이 검색된 경우.
  • 50: 최고 검색량의 절반 정도.
  • 0: 해당 시간대/지역에서 거의 검색되지 않은 경우.

이 값들은 절대적인 검색 횟수를 의미하는 것이 아니라, 특정 시간대와 지역에서의 상대적인 인기도를 나타냅니다. 예를 들어, 관심도 100인 경우 해당 지역에서 가장 높은 검색량을 기록한 것이며, 50인 경우 그 검색량의 절반을 기록한 것입니다.

결론

pytrends 라이브러리와 TrendReq 클래스를 사용하면 Google Trends API를 통해 손쉽게 검색 트렌드 데이터를 가져올 수 있습니다. 이를 통해 특정 주제나 키워드의 인기도를 분석하고, 관련된 데이터 분석을 수행할 수 있습니다. 이번 포스트에서는 주요 기능과 예제 코드를 중심으로 Google 트렌드 데이터를 효과적으로 활용하는 방법을 소개했습니다. 이를 통해 다양한 프로젝트에서 트렌드 분석을 쉽게 적용할 수 있을 것입니다.

참고자료

태그: , ,

카테고리:

업데이트:

댓글남기기