IT-LIFEブログ

主にIT系のことや時事ネタや、たまに雑記

pythonでgoogleトレンドの情報を取得する方法

こんにちは。あつかんです。

今回はpythongoogleトレンドの情報を取得する方法を紹介しようと思います。

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としてファイルが作成されていると思います!

f:id:nok-0930-ss:20181203230621p:plain

上記の画像はpprintを使って整形して出力しているので、output.jsonファイルの中のデータと同一の構造です。

 

あとはこのJSON形式のデータを自分の好きなように扱うだけですね!

もしエラーが発生したら、コメントでお問い合わせください!

次回はこの情報をグラフ化する方法について紹介しようと思います〜。