はじめに
日々投稿されるツイートを何らかのキーワードで収集したいという場面、ありますよね。
例えば、
- ツイート数から、自社製品やイベントの評判を探りたい
- ツイート本文を集めて自然言語処理したい
- トレンドワードの盛衰を見守りたい etc.
今回は、プログラミングなしの超お手軽な手法として、IFTTTを使い特定のキーワードを含むツイートを取得し、Google Spreadsheetに記録する方法を紹介したいと思います。
目標物
spreadsheetはこんな感じで出力されます。 任意のキーワードを指定し、そのキーワードが含まれるツイートが投稿された時に以下5項目を記録します。- 日付と時間
- ユーザー名
- 本文
- ツイート自体のリンク
- ツイート本文に含まれるリンク(画像のリンクなど)
なお、今回紹介する方法では、設定完了後からのツイートを収集するため、過去のツイートを取得することはできないです。
用意するもの
- Googleアカウント
- Twitterアカウント
- IFTTTアカウント(今回はiosアプリで説明しますが、android版、web版でも同様の手順でできます)
準備
IFTTTアカウント
まず使ったことない人は、IFTTTのアプリをダウンロードするか、web版にアクセスしましょう。その後、アカウントを作成してください。
spreadsheet
Googleアカウントでツイート書き込み用のspreadsheetを新規作成してください。
IFTTTの設定
IFTTTでは「もし〜だったら〜する」という形式で単純なプログラムを作ることができ、これをアプレットと呼んでいます。
今回でいえば「もしTwitterに特定のキーワードのツイートが投稿されたら、spreadsheetに内容を記録する」といううアプレットを作っていくことになります。
それでは早速設定していきます。
まずは、IFTTTを開き、[Get more]と書かれたボタンを押した後、[Make your own Applets from scratch]の横の+ボタンを押します。
そうすると、アプレットの新規作成画面が開きます。
ここで、[+This]の部分をタッチし、トリガーを設定します。ここが「もし〜だったら〜する」の「もし〜だったら」の部分です。
twitterをトリガーとして選んでください。検索窓で[twitter]と検索すると見つけやすいです。
その後、トリガーの詳細を設定していきます。今回は[New tweet from search]を選んでください。
その際、まだtwitterアカウントをIFTTTと連携したことがない人は連携する画面が出ると思うのでアカウントを連携してください。
アカウント連携後、以下のような画面になると思います。ここで、収集したいキーワードを入れて、[Create trigger]を押します。
トリガーの設定は以上で完了です。
次は、「もし〜だったら〜する」の「~する」の部分を設定していきます。
[+That]ボタンをを押してください。
そして、[Google sheets]を選択します。
その後、[Add row to spreadsheet]を選択します。
ここでも、初めての場合は、googleアカウントの連携を求められると思うので、手順に従って連携してください。
連携完了後は以下のような画面になると思います。
[Spreadsheet name]には、記録したいspreadsheetの名前を記入します。もし、存在しないシート名を指定してしまっても、新たにシートを作ってくれます。
[Formatted row]は記録する部分の設定です。|||が列の区切り文字となります。入力キーボードの[Add Ingredient]からCreateAt(日付項目)や、UserName(ユーザー名)などの項目を選択することができます。
そして[Drive folder path]に保存したいフォルダーの階層を指定して、[Create action]を選択することでしてください。
以上で設定は完了です。確認画面が表示されると思うので、Finishを押し、アプレットを有効にしてください。
しばらくして、キーワードのツイートが投稿された段階で、spreadsheetにも書き込みが反映されていることを確認できると思います。(最初のツイートがされないとシートに記録されないので、誰もツイートしないようなニッチなワードを指定してしまった人は気長に待ってみましょう)
おわりに
手軽かつ、ノーコストの手法なので、気になったワードはどんどん収集していくと面白い分析がいつかできるかもしれませんね。
関連する複数のキーワードを比較してみるというのも面白そうです。
今回の手法でツイートを取得できるのはIFTTTの設定後からなので、ご利用は計画的に。