イントロダクション
最近の流行りを調査すべくGoogleトレンドを調べて見ました。そしたらR言語、Python、Node.jsでのAPIはすぐに見つかったのだけれどJavaは見つかりませんでした。。。なのでPythonからトレンドを取得して結果をJavaでモチョモチョとやろうと思います。
pytrendsを使う
Pythonなので「pip」でインストールできます。Macは標準装備なのでピップします。
$pip3 install pytrends

こんな感じでインストール完了、「pip3」コマンドを使用します。間違えないようにしてください。
参考にしたサイトはこちらです。そして実行した結果を下に記載します。
takunojiMacBook-Pro:python takk$ python3
Python 3.7.1 (default, Nov 6 2018, 18:49:54)
[Clang 9.0.0 (clang-900.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pytrends
>>> from pytrends.request TrendReq
File "", line 1
from pytrends.request TrendReq
^
SyntaxError: invalid syntax
>>> from pytrends.request import TrendReq
>>> pytrends = TrendReq(hl='ja_JP', tz=360)
>>> kw_list = ["Java", "Ptrhon", "JavaScript"]
>>> pytrends.build(kw_list, cat=0, timeframe='today 5-y', geo='JP', gprop='')
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'TrendReq' object has no attribute 'build'
>>> pytrends.build_payload(kw_list, cat=0, timeframe='today 5-y', geo='JP', gprop='')
>>> pytrends.related_queries()
{'Java': {'top': query value
0 string 100
1 java string 96
2 eclipse 79
3 eclipse java 78
4 配列 java 73
5 java list 62
6 java クラス 60
7 android java 59
8 java 文字 列 58
9 java インストール 57
10 java javascript 48
11 java for 45
12 javascript 44
13 java oracle 39
14 oracle 39
15 java メソッド 38
16 java ダウンロード 38
17 java int 38
18 java バージョン 37
19 java api 37
20 java map 36
21 java file 35
22 java 実行 35
23 java 入門 34
24 java date 31, 'rising': query value
0 java 有償 化 7550
1 android studio 5200
2 java ラムダ 式 1500
3 java 1.8 1400
4 java セキュリティ によって ブロック され た アプリケーション 1300
5 java silver 800
6 java ブロンズ 650
7 java bronze 450
8 java stream 350
9 spring 250
10 java spring 200
11 java map 初期 化 200
12 java json 180
13 java jsonobject 140
14 java scanner 140
15 java contains 120
16 java foreach 120
17 mac java インストール 90
18 java regex 90
19 java try catch 90
20 java isempty 80
21 could not create the java virtual machine 80
22 java list 初期 化 80
23 java 文字 列 結合 70
24 java install 70}
, 'Ptrhon': {'top': None, 'rising': None}
, 'JavaScript': {'top': query value
0 jquery 100
1 javascript html 85
2 html 83
3 javascript 配列 62
4 js 46
5 java 45
6 javascript 文字 列 45
7 java javascript 45
8 css 38
9 php javascript 31
10 php 30
11 javascript 関数 26
12 javascript イベント 25
13 javascript array 25
14 javascript 変数 24
15 javascript json 24
16 for javascript 24
17 chrome javascript 22
18 ie javascript 22
19 javascript function 21
20 正規 表現 20
21 javascript オブジェクト 19
22 javascript 読み込み 19
23 javascript 正規 表現 19
24 javascript api 19, 'rising': query value
0 javascript promise 5950
1 javascript moment 2700
2 angularjs 1800
3 bootstrap 700
4 javascript array filter 550
5 javascript let 500
6 json 整形 300
7 javascript json parse 250
8 javascript require 250
9 javascript filter 250
10 javascript const 200
11 javascript array slice 200
12 javascript 文字 列 切り出し 200
13 chrome javascript デバッグ 200
14 javascript date format 190
15 javascript concat 180
16 javascript 三 項 演算 子 180
17 javascript console.log 180
18 javascript console 160
19 javascript splice 160
20 mdn javascript 160
21 javascript use strict 150
22 javascript 連想 配列 削除 140
23 javascript 配列 ループ 140
24 javascript undefined null 140}}
こんな感じで取得できました。Javaからコマンド実行するには
- 上のPythonスクリプトをpyファイル(Trends.py)に記載してやり
- Javaでコマンド"/usr/local/python3 Trends.py"を起動、結果を取得
のようにしてやればおっけ。
これで検索結果の上位部分を取り出してやれば流行を追いかけることができそうだ(笑)ちなみに楽天プラグインを「流行」で検索して見たらこんなのが出てきた。