[Python] Googleトレンドのキーワード・データを取得する

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)

コメントを残す

メールアドレスが公開されることはありません。