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位のキーワードと検索トラフィック、関連キーワードを見ることができました。

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark