Node-REDでTwitterから必要な情報を取得する方法

Node-REDでTwitterから必要な情報を取得する方法

※本記事内で言及している IBM Bluemix(mybluemix.net)上のデモアプリは現在サービス終了しています。URLは当時の記録として文字でのみ残しています。

Bluemix上でNode-REDを使って必要な情報だけをTwitterから取得する方法

こんにちは。

AI coordinatorの清水秀樹です。

膨大なTwitter情報からほしい情報だけをリアルタイムに取得する方法を試してみたので、興味がある方は参考にしてみて下さい

使うアプリはNode-REDです。

Node-REDは簡単にIotを実装することを目的に開発されたオープンソースのツールです。

フローエディタでアプリを作成できますので、初心者の方でも利用しやすく開発されています。

 

開発に必要な準備は以下の通りです。

  1. Bluemixのアカウント
  2. Twitterのアカウント

いずれも無料で簡単に取得できるので、困ることはないはずです。

 

Bluemixのアカウント取得方法が分からない方は、以下の記事を参考に登録してください。
IBM Bluemix登録方法 30日間は無料で使用できるぞ

 

Node-REDを作成しよう

それでは早速Node-REDの作成から始めてましょう。

Bluemixにログインしたら、カタログのボイラープレートからNode-REDを選択してアプリを作成してください。

Node-REDでTwitterから必要な情報を取得する方法 画像1

アプリ名の入力がありますので、好きな名前で作成しましょう。

Node-REDでTwitterから必要な情報を取得する方法 画像2

作成ボタンをクリックした後以下の画面に切り替わり、アプリを開始していますがグルグル回り始めます。

これにはしばらく時間がかかりますので、気長に待ちましょう。

大体3分位かかります。

Node-REDでTwitterから必要な情報を取得する方法 画像3

以下の表示に切り替わればOKです。

Node-REDでTwitterから必要な情報を取得する方法 画像4

「アプリは実行中です」が表示されたら、一度ダッシュボードに戻りましょう。

Node-REDでTwitterから必要な情報を取得する方法 画像5

Node-REDの起動

ダッシュボードからNode-REDを起動することが出来ます。

すべてのアプリの表示欄に、作成したNode-Redが選択できるようになります。

アプリ名は先ほど好きに決めた名前が表示されているはずです。

 

では、早速クリックしてNode-REDを起動しましょう。

以下の赤枠部分をクリックしてください。

Node-REDが起動できます。

Node-REDでTwitterから必要な情報を取得する方法 画像6

「Node-RED in Bluemix」の画面が表示されます。

Node-REDでTwitterから必要な情報を取得する方法 画像7

上記画面が表示されたら、「Go to your Node-RED flow editor」をクリックしましょう。

Node-REDが起動します。

 

Node-REDが起動するとフローエディタが表示されます。

Node-REDでTwitterから必要な情報を取得する方法 画像8

ここまでできたら次はフローを作成していきます。

 

フロー作成

出力先画面の構築

まずはTwitterから取得した情報を出力するWeb画面を構築します。

と言っても何も難しいことはありません。

フローエディタ上でドラッグアンドドロップで作成できます。

 

それでは順を追って説明します。

左のサイドバーから以下のノードを順にドラッグアンドドロップでフロー上に持ってきます。

  1. 入力から「http」ノード
  2. 機能から「template」ノード
  3. 出力から「http response」

画面のフロー1にドラッグアンドドロップで持ってきたら、それぞれを線で結びます。

以下のように作成できたらOKです。

Node-REDでTwitterから必要な情報を取得する方法 画像9

これだけではまだなにもできないため、各ノードの詳細設定を行います。

入力の「http」ノードをダブルクリックし、URL欄に「/web」と入力して「完了」ボタンを押してください。

Node-REDでTwitterから必要な情報を取得する方法 画像10

上記の編集ができたら、画面右上の「デプロイ」をクリックしてみてください。

Node-REDでTwitterから必要な情報を取得する方法 画像11

以下のメッセージが画面上部に表示されたらOKです。(この表示はすぐ消えます)

Node-REDでTwitterから必要な情報を取得する方法 画像12

ここまでできたら、今作成したURLにアクセスしてみましょう。

アドレスは以下のようになっています。

http://アプリ名.mybluemix.net/web

この例ですと、http://ai-coordinator.mybluemix.net/web ですね。

「https」ではないので注意してください。

 

以下のように表示されていたら、ここまでは無事終了です。

Node-REDでTwitterから必要な情報を取得する方法 画像13

次はいよいよTwitterノードを使用します。

 

twitterノードの作成

先ほどと同様に左のサイドバーからノードをフロー1に順々にドラッグアンドドロップで持ってきましょう。

  1. ソーシャルから「twitter」ノード
  2. 機能から「function」ノード
  3. 出力から「websocket」ノード

3つ準備したら、それぞれを線で結びます。

以下の画面のようになっていれば大丈夫です。

Node-REDでTwitterから必要な情報を取得する方法 画像14

次はtwitterノードに自分のtwitterアカウントを登録します。

twitterノードをダブルクリックし、下記画面を参考にアカウントの連携をします。

Twitter IDの鉛筆ボタンをクリックします。

Node-REDでTwitterから必要な情報を取得する方法 画像15

以下の画面が表示されますので、気にせず赤枠部分をクリックしてください。

Node-REDでTwitterから必要な情報を取得する方法 画像16

下記画面が表示され、アカウントの利用許可を聞かれるので、「連携アプリを認証」をクリックしてください。

Node-REDでTwitterから必要な情報を取得する方法 画像17

下記画面が表示されれば登録されています。

この画面は不要なので閉じてください。

Node-REDでTwitterから必要な情報を取得する方法 画像18

Node-REDの画面に戻り、以下の画面のようにTwitter IDに自分のアカウントが表示されていれば成功です。

Node-REDでTwitterから必要な情報を取得する方法 画像19

成功していたら追加ボタンをクリックしてください。

ここまでできたら、次はtwitterノードにキーワードを入力しましょう。

Node-REDでTwitterから必要な情報を取得する方法 画像20

この例では「AKB」と入力して完了ボタンをクリックします。

こうすることでAKBを文章に含むツイートをリアルタイムで取得できるようになります。

 

あと3ステップです。

頑張りましょう。

 

それでは1ステップ目です。

「function」ノードをダブルクリックし、さらに以下のソースを貼り付けてください。

Node-REDでTwitterから必要な情報を取得する方法 画像21

貼り付けるソース

 

以下のように編集出来たら、完了ボタンをクリックしてください。

Node-REDでTwitterから必要な情報を取得する方法 画像22

次は2ステップ目です。

最後は最初に作成した「template」ノードの編集です。

「template」ノードをダブルクリックし、以下のソースを丸々貼り付けてください。

Node-REDでTwitterから必要な情報を取得する方法 画像23

貼り付けるソース

 

以下のように編集出来たら「完了」ボタンをクリックしてください。

Node-REDでTwitterから必要な情報を取得する方法 画像24

いよいよラスト3ステップ目です。

「websocket」ノードをダブルクリックし、編集画面が表示されたら、鉛筆ボタンをクリックしてください。

Node-REDでTwitterから必要な情報を取得する方法 画像25

下記画面の通り入力して「追加」ボタンをクリックしてください。

Node-REDでTwitterから必要な情報を取得する方法 画像26

下記画面に戻るので、Pathの入力内容が以下の画面通りであることを確認できたら、「完了」ボタンをクリックしてださい。

Node-REDでTwitterから必要な情報を取得する方法 画像27

これですべての編集が終了しました。

早速右上の「デプロイ」をクリックして、先ほどアクセスしたURLを更新してみましょう。

忘れた方のためにもう一度説明しますね。

アドレスは以下のようになっています。

http://アプリ名.mybluemix.net/web

この例ですと、http://ai-coordinator.mybluemix.net/web ですね。

「https」ではないので注意してください。

 

結果の確認

無事にここまで作成できたら、http://アプリ名.mybluemix.net/web にアクセスすれば下記画面のように次々とAKBを含めたツイート分が表示されているはずです。

Node-REDでTwitterから必要な情報を取得する方法 画像28

自分の好きな情報をリアルタイムに取得したい場合には使える小技ですね。

アプリを作成する上での、アイデア発掘の材料になるかもしれませんね。

是非是非チャレンジしてみてください。

それではまた。

この記事の内容について、相談したい方へ

技術選定・実装の進め方・組織での導入など、AI/IoT全般のご相談を受け付けています。

無料相談会(30分・オンライン)

About The Author

Hideki
東京大学発AIスタートアップでロボット開発室室長・画像解析室室長・動画解析室室長を務め、画像認識関連のAI特許を在籍中に3件取得。その後、KDDIグループでプロダクトリーダーとして自然言語処理パッケージの自社開発を経て、現在はAGRIST株式会社の執行役員CTO 兼 VPoEとして、農業の人手不足解決に向けた収穫ロボットの開発組織を統括しています。AI・ハード・エレキ・通信・クラウド・IoTまでを一気通貫で設計できる視点を強みに、性能だけでなく「感動やワクワク体験」までデザインできるロボットの研究を進めています。並行して、AI coordinatorとして企業のAI導入・教育機関のAI授業・地域の技術相談を月額契約で継続伴走しています。

LEAVE A REPLY

*
*
* (公開されません)