pythonでgoogleトレンドの情報を取得する方法
こんにちは〜。あつかんです。
今回はpythonでgoogleトレンドの情報を取得する方法を紹介しようと思います。
googleトレンドの情報をわざわざ取得しようと思ったきっかけは、googleトレンドは時系列の情報しか表示しておらず、その時系列情報に対して様々な分析を行いと思ったからです。
早速ソースコードを紹介と言いたいところなのですが、まずはプログラムを実行するために必要なpytrendsというモジュールを下記コマンドでインストールしてください。
pip install pytrends
またJSON形式でデータを取り扱うので、出力結果を見やすくしてくれるpprintモジュールもインストールしておきましょう。
pip install pprint
今回は"Java","Python","Ruby","Javascript"のトレンドデータを2014-01-01〜2018-09-30の範囲で取得しようと思います!
下記のソースコードを実行すれば、実行ディレクトリにトレンドデータが入ったoutput.jsonファイルが作成されるはずです!
import matplotlib.pyplot as plt
from pytrends.request import TrendReq
import json
from datetime import datetime
import pprint
tValue = []
array = []
list = []
bbb = 0
pytrends = TrendReq(hl='ja-JP', tz=360)
kw_list = ["Java","Python","Ruby","Javascript"]
for i in range(len(kw_list)):
list.append([])
pytrends.build_payload(kw_list, timeframe='2014-01-01 2018-09-30', geo='JP')
df = pytrends.interest_over_time()
for i in range(len(df[kw_list[0]])):
for i in range(len(kw_list)):
list[i].append(int(df[kw_list[i]].values[i]))
for t in df.index.values:
tValue.append(str(t)[0:10])
dict = {'time': tValue[bbb]}
for i in range(len(kw_list)):
dict[str(kw_list[i])] = list[i][bbb]
bbb += 1
array.append(dict)
trend = {
'data': array
}
pprint.pprint(trend)
f = open('output.json', 'w')
json.dump(trend, f)
実行すると下記の画像のようなjson形式のデータがoutput.jsonとしてファイルが作成されていると思います!
上記の画像はpprintを使って整形して出力しているので、output.jsonファイルの中のデータと同一の構造です。
あとはこのJSON形式のデータを自分の好きなように扱うだけですね!
もしエラーが発生したら、コメントでお問い合わせください!
次回はこの情報をグラフ化する方法について紹介しようと思います〜。