node.js googleトレンドから取得 google-trends-api

node.jsでgoogleトレンドを取得 google

前回の記事同様、今回もnode.jsの記事です。googleトレンドを知るために、Chrome開いて、キーワード欄に入力して、結果見て「ふーむ」となるまで時間が結構かかります。面倒ですよね。しかもそれをコピペ(転記)作業なんて言ったらなんと無駄な!
逆を言えばこれが仕事になってお金もらえる人が羨ましかったり(自分も今までこれで飯食ってました)

とは言え、コピペで飯が食えるほど甘くない世の中になっているのにやっと自分も気づき、自動化したいなと思いちょっとググってみました。
node.jsに気軽に取得できるモジュールがあったので今回はそれを使うことにしました。

スポンサーリンク

1. node.js google-trends-apiを使う

node.jsの環境構築は前回の記事でちょっと触れているので割愛。

今回使うのはgoogle-trends-api。特に自分でGoogle Cloud Platformに登録などしなくてもいいのが凄いというか謎。まぁ使う側としてはすぐ導入出来るので深いことは考えないで作業に進みます。

npm i google-trends-apiで取得。

google-trends-api
an API layer on top of google trends

2. コードを書いて実行

サンプルをとりあえずはそのままコピペして実行しましょう。ファイルに保存したければ、fs使って。(下記fs使って書き出しています)動作すれば、gt.jsonに結果が書かれています。

const gt = require('google-trends-api');
const fs = require('fs');

gt.interestOverTime({keyword:'autoit',geo:'JP',hl:'ja'})
.then(function(res){
 var json = JSON.parse(res);
 fs.writeFileSync("gt.json", JSON.stringify(json,undefined,2));	
}).catch(function(err){
 console.log(err);
});

出ました。

node.js googleトレンドからキーワードのボリュームを取得し、ファイルにjson保存

2.1 比較する場合はkeyword,geoを配列にする

トレンドは比較したくなるものです。というわけで、rpaとautoitの比較をしてみます。
パラメータのkeyword、geoを配列にすればOKです。簡単ですね。

const params = {
 keyword:["rpa","autoit"],
 geo:["JP","JP"],
 hl:"ja"
}
gt.interestOverTime(params).then(...)

valueが2つになっています。rpaに比べautoitは少ないですね。rpaキーワードに重視したキーワードのほうが良いですね。(自分に言っています)

node.js googleトレンド 比較データ取得
google-trends-api
an API layer on top of google trends

4. 他のサービスの情報と合わせれば

Twitterのトレンド(モーメント)取得APIもnode.jsにあるので、それと組み合わせて、トレンドキーワードを発掘するのも良いかもしれませんね。
Twitterのトレンド取得に関しては下記で記事にしています。

その他、search API(制限かなりあり)も使いたいけど、下記の記事読むとまともにやろうとするとお金結構かかります・・・

コメント

タイトルとURLをコピーしました