GoogleトレンドのデータをPythonでプログラム上で取得する方法についてまとめます。
目次
ライブラリのインストール
pytrendsというライブラリを使います。またDataFrameで結果が返ってくるのでpandasも必要です。
pip install pytrends pandas
指定したキーワードのアクセス数
interest_over_timeというメソッドで取得できます。
interest_over_time()はpandasのDataFrameで返却され、時間帯とその時のキーワードごとのアクセス数といった中身です。
from pytrends.request import TrendReq
pytrend_request = TrendReq(hl="ja-jp", tz=540)
# キーワード一覧
keywords = ["プログラミング", "python"]
# 集計する期間の設定
start_date, end_date = "2022-01-03T00", "2022-01-05T00"
pytrend_request.build_payload(
kw_list=keywords, timeframe=f"{start_date} {end_date}", geo="JP"
)
# キーワードごとのアクセス数
access_num_table = pytrend_request.interest_over_time()
# キーワードのアクセス数集計
summary_access_num = sum(access_num_table["プログラミング"])
print(access_num_table)
print(summary_access_num)
関連キーワードの取得
related_queries()で取得したデータは、[指定したキーワードのどれか][topかrising]という形式で中身はpandasのDataFrameとなっています。
from pytrends.request import TrendReq
pytrend_request = TrendReq(hl="ja-jp", tz=540)
# キーワード一覧
keywords = ["プログラミング", "python"]
# 検索範囲の日付
start_date, end_date = "2022-01-03T00", "2022-01-05T00"
# 検索リクエストのビルド
pytrend_request.build_payload(
kw_list=keywords, timeframe=f"{start_date} {end_date}", geo="JP"
)
# 指定したキーワードの関連キーワード情報を取得する
related_keywords_info = pytrend_request.related_queries()
# プログラミングに関連するトップキーワードの情報を取得する
related_top_keywords_table = related_keywords_info["プログラミング"]["top"]
# pythonに関連する急上昇キーワードの情報を取得する
related_rising_keywords_table = related_keywords_info["python"]["rising"]
print(related_rising_keywords_table)
print(related_top_keywords_table)
関連トピックの取得
related_topics()で取得したデータは、[指定したキーワード][topかrising]という形式で中身はpandasのDataFrameとなっています。
関連キーワードと違い、複数キーワードを指定するとデータ取得ができない点に注意が必要。
from pytrends.request import TrendReq
pytrend_request = TrendReq(hl="ja-jp", tz=540)
# キーワード
keyword = "プログラミング"
# 検索範囲の日付
start_date, end_date = "2022-01-03T00", "2022-01-05T00"
# 検索リクエストのビルド
pytrend_request.build_payload(
kw_list=[keyword], timeframe=f"{start_date} {end_date}", geo="JP"
)
# 指定したキーワードの関連キーワード情報を取得する
related_topics_info = pytrend_request.related_topics()
# プログラミングに関連するトップトピックの情報を取得する
related_top_topics_table = related_topics_info[keyword]["top"]
# プログラミングに関連する急上昇トピックの情報を取得する
related_rising_topics_table = related_topics_info[keyword]["rising"]
print(related_top_topics_table)
print(related_rising_topics_table)
年間のトレンドワード一覧
from pytrends.request import TrendReq
pytrend_request = TrendReq(hl="ja-jp", tz=540)
# 指定した年度のトップトレンド一覧を取得
date = "2021"
top_trend_ranking_of_year = pytrend_request.top_charts(
date, hl="ja-jp", tz=540, geo="JP"
)
# 指定した年度のトップトレンドのタイトルリスト
top_trend_ranking_titles = list(top_trend_ranking_of_year["title"])
print(top_trend_ranking_of_year)
print(top_trend_ranking_titles)