uni farm

pytrendsでgoogle trendのデータを取得してみる

pytrendsを試しがてら、食に関するサービスについてトレンドを比較してみた

pytrendsというGoogle トレンドの非公式APIを提供しているpackageがある

環境

  • python: 3.6
  • pytrends: 4.7.3

検索条件と数値データの説明

検索キーワードは

keywords = ['食べログ' , 'retty', 'クックパッド', 'クラシル', 'オイシックス']

とした。もう少し追加したかったが同時に取得できるのが最大5件までだったので、絞っている

トレンドの数値データは基本的に0-100の検索数から算出される人気度となっており、相対的な数値になる

詳しい情報は公式のHelpなどを参照

実行結果

ほとんどreadmeにしたがっている TrendReqにて接続情報を初期化して、build_payloadにて検索条件を指定する

最大5年まで遡れる。またデータは週次で取得される

from pytrends.request import TrendReq
pytrend = TrendReq(hl='ja-jp')

# max 5 words
keywords = ['食べログ' , 'retty', 'クックパッド',  'クラシル', 'オイシックス']

pytrend.build_payload(kw_list=keywords, timeframe='2018-01-01 2020-05-25')

地域ごとに取れたりもする。今回は使わない

# Interest by Region
df = pytrend.interest_by_region()

週次トレンドデータ

weekly all

例のコロナウイルスの影響で明暗がはっきり分かれている

下3つが潰れてて見にくいので抽出してプロットしてみる

weekly part

rettyはあまり検索されないのだろうか

月次平均にしてプロットしてみる

安定していたけど、2020年1月くらいから傾向が変化しているのがわかる

monthly

毎時トレンドデータ

条件を細かく指定して取得することもできる。どうやら毎時データを取得できる模様

見分けづらいプロットになっているが、一番高いオレンジがクックパッド、次点のオレンジが食べログ

hourly

お昼(11:00)〜夜(20:00)くらいに高くなっている

関連ワード

各検索ワードに対してtop25、おそらく急上昇ランキングのものが取得される

中身は{'検索ワード': {'rising': df}}みたいになっているので順番に取得して、縦に積んでおく

related query

食べログを見にくる人は特集ページ的なのがほしいのだろうか

こんな感じで、業界ごとブランド名でトレンド比較ができるので便利。特徴量とかにも使えるだろうか、検索流入予測とか

あと、よくわからないけどブランドカラー、オレンジ系多すぎでは

サイトから、カラーコード引っ張ってきたらこんな感じだった

# 食べログ retty クックパッド クラシル オイシックス
color=['#ff9600', '#ffa014', '#ff9933', '#dbb34d', '#76952f']

実装

他にもトレンドキーワード、年間トレンドキーワード、関連検索ワードを取得することもできる

それらを含めたnotebookをgistに作ったのでおいておく

Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
view raw pytrend.ipynb hosted with ❤ by GitHub

参考

2022, Built with Gatsby. This site uses Google Analytics.