イントロダクション
最近の流行りを調査すべく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"を起動、結果を取得
のようにしてやればおっけ。
これで検索結果の上位部分を取り出してやれば流行を追いかけることができそうだ(笑)ちなみに楽天プラグインを「流行」で検索して見たらこんなのが出てきた。
[rakuten ids="gold-japan:10042851"]