Google TrendのキーワードをNode.jsで取得する
npmをぶらぶらしていたらgoogle-trends-apiという面白そうなライブラリがありました。 どうやらGoogle Trendのデータを取得できるクライアントライブラリらしいので、触って見ます。 インストール n […]
広告ここから
広告ここまで
目次
npmをぶらぶらしていたらgoogle-trends-apiという面白そうなライブラリがありました。
どうやらGoogle Trendのデータを取得できるクライアントライブラリらしいので、触って見ます。
インストール
npmでインストールするだけです。
$ npm i -S google-trends-api
TypeScriptの型定義はありませんので、TSで使う場合もrequireで読み込んでやりましょう。
指定した日のトレンドキーワードを取得する
サンプルコードを元にざっと簡単なものを実装してみました。
const googleTrends = require('google-trends-api')
googleTrends.dailyTrends({
  // 調べたい日を指定
  trendDate: new Date('2019-09-20'),
  // 対象の地域を指定
  geo: 'JP',
}, function(err, results) {
  // エラーハンドル
  if (err) {
    console.log(err);
    return
  }
  // JSON.parseがあるので、念のためtry - catchしておく
  try {
    // レスポンスをオブジェクトに
    const data = JSON.parse(results)
    // 日別・ランク別でネストした連想配列がきているので、ループで回す
    data.default.trendingSearchesDays.forEach(day => {
      day.trendingSearches.forEach((trend, i) => {
        console.log(`Rank ${i + 1}: ${trend.title.query}`)
        console.log('  Trafic: ' + trend.formattedTraffic)
        console.log('  Related Queries:')
        trend.relatedQueries.forEach(relatedItem => {
          console.log(`    ${relatedItem.query}`)
        })
        console.log('\n')
      })
    })
  } catch (e) {
    console.log(e)
    return []
  }
});実行すると、このような結果が出ます。
Rank 1: 2019 年ラグビー ワールドカップ
  Trafic: 2M+
  Related Queries:
Rank 2: ラグビー
  Trafic: 1M+
  Related Queries:
    ラグビーワールドカップ
    ラグビー ルール
    ラグビー ワールドカップ
    ラグビールール
    ワールドカップラグビー
Rank 3: ラグビーワールドカップ
  Trafic: 200K+
  Related Queries:
    ラグビー ワールドカップ
Rank 4: ラグビー日本代表
  Trafic: 200K+
  Related Queries:
    ラグビー ランキング
    ラグビー日本代表メンバー2019
    ラグビーランキング
Rank 5: 松島幸太朗
  Trafic: 100K+
  Related Queries:
Rank 6: オールブラックス
  Trafic: 100K+
  Related Queries:
Rank 7: 凪のおいとま最終回
  Trafic: 50K+
  Related Queries:
Rank 8: 松島幸太郎
  Trafic: 50K+
  Related Queries:
Rank 9: 倉科カナ
  Trafic: 50K+
  Related Queries:
Rank 10: はあちゅう
  Trafic: 50K+
  Related Queries:
Rank 11: ラグビー 日本代表
  Trafic: 50K+
  Related Queries:
    ラグビー日本代表メンバー
Rank 12: トイレの神様
  Trafic: 50K+
  Related Queries:
Rank 13: ワールドカップ
  Trafic: 20K+
  Related Queries:
Rank 14: リーチマイケル
  Trafic: 20K+
  Related Queries:
Rank 15: ゼルダの伝説夢をみる島攻略
  Trafic: 20K+
  Related Queries:
    夢を見る島
Rank 16: ラグビーワールドカップ 日程
  Trafic: 20K+
  Related Queries:
    ラグビー 試合
Rank 17: ネルソンマンデラ
  Trafic: 20K+
  Related Queries:
Rank 18: 日本対ロシア
  Trafic: 20K+
  Related Queries:
Rank 19: 田村優
  Trafic: 20K+
  Related Queries:
Rank 20: HELLO WORLD
  Trafic: 20K+
  Related Queries:1 ~ 20位のキーワードと検索トラフィック、関連キーワードを見ることができました。