-->

【KNIME】(ナイム)Twitter(ツイッター)のタイムラインをエクセルとして出力する【ツイッター】

2022/04/20

Knime Twitter

t f B! P L

・この記事の概要

KNIME(ナイム)のTwitter(ツイッター)ノードの使用方法を解説。
これらのノードはKNIME(ナイム)上からTwitter(ツイッター)アカウントにアクセスする
ことで
KNIME(ナイム)上にタイムラインの一覧を取得したり、検索結果をエクセル形式で表示することができます。

Twitter(ツイッター)ノードを使用するにはTwitter開発者用アカウントが必要です。
開発者用アカウントの取得方法についても説明しています。


前書き

どうもシャイン社員です!
最近ツイッターで「フォロワーが増えないよ~。・゚・(ノД`)・゚・。」と呟いたら
優しいフォロワーの方々が拡散してくれて、1日で+200ものフォロワーさんが増えました!

あまりの拡散っぷりに終始通知が鳴りやまず、すごくびっくりしました( ´∀` )

今日はそのツイッターとKNIME(ナイム)の連携に関する記事です!

Twitter(ツイッター)のタイムラインをエクセル化する

KNIMEにはTwitterと連携させることでTwitter上のデータを
KNIMEで扱うことができます。

手順はやや面倒ですが
SNSマーケティングなどで有効に活用できるかもしれません。


準備するもの

下記のものが必要です。
  • KNIME本体
  • Twitter Connector ノード
  • Twitter 開発者用アカウント
順に説明します。

KNIMEのインストール

大前提としてKNIMEのインストールが必要となります。
KNIMEのインストール方法とKNIMEの操作方法については下記の記事をご覧ください。

本ページはKnimeの使い方やできること、などについて説明しています。Knimeはエクセルと同じように表計算ができる無償ソフトウェア エクセルと違ってVBA記述など不要でマクロをどうさせることが来ます。 ワークフローと呼ばれるカラフルな四角いマークと矢印をつなぐことで動かす


本ページはKnimeの導入に関して説明したページです。ダウンロード、インストール方法の紹介を記しています。また最初の設定やワークフローの作成方法などを紹介しています。 Knimeの日本語化パッチはありますが高額なので私としては必要はないかなと思います。 文末にキャンプ用品を紹介しています。

KNIME Twitter Connectorノードのインストール

KNIMEを起動し「File」→「Install KNIME Extensions...」の順にクリックします。



Install画面が開かれますので
テキストボックスに「Twitter」と入力します。

すると自動で「Twitter」に関係するアドオンが検索されます。
KNIME Twitter Connectorsにチェックを入れて
「Next」を押します。

もう一度Nextを押します。

ライセンス確認画面になるので「Finish」を押します。

無事にインストールが完了すると
再起動をを求められます。

Restart NowでKNIMEを再起動します。
これでKNIMEへのTwitter Connectorsノードのインストールは完了です。



開発者用Twitterアカウントの準備

ツイッター開発者用アカウントを取得します。
Twitter APIの使用申請は結構手間と時間がかかりますので
ご注意ください。

既に使用しているツイッターアカウントがあれば
同じアカウントで開発者用のアカウントを登録できますので
新規に取得する必要はありません。

こちらのページにアクセスし「開発者アカウントに登録する」をクリックします


使用しているツイッターアカウントで登録すればOKです。
電話番号がツイッターアカウントに連携されていない場合は
連携が必要になりますので注意です。

複数のツイッターアカウントをお持ちの場合ほかのアカウントで
電話番号を連携している場合は、新しく電話番号連携したアカウントに
引き継がれます。

ログインすると下記のような画面になります。


いくつかの質問事項があるのでこちらを入力します。


この質問事項に回答すると制限付きでTwitter APIを使用することができます。
Twitter Connectorノードを使用する場合は制限解除をする必要があります。

制限解除するためには開発者アカウントからAPI使用のための申請をします。
詳しくはこちらのブログの方が解説されております。


質問の日本語訳は以下のとおりです。
  • あなたの名前は?
  • お住まいの国は?
  • 使用用途は何ですか?
  • Twitterのコンテンツや派生情報を政府機関や政府関連機関が利用できるようにする予定ですか?
  • 最新の更新情報を受け取りますか?
下記のように回答して「Next」をクリックします。



利用規約がダーーッと書かれているページに飛びますので
下までスクロールしてチェックボックスにチェックを入れて
「Submit」を押します。

すると登録メールアドレス宛にメールが飛びます。


Twitter Appの作成とTokenコードの生成


下記のようなメールが送られてきますので
「Confirm your email」をクリックします。

クリックするとアプリ名称を入力する画面になります。
App Nameにアプリ名称を入力します。
名前は何でもよいのですが、ほかの人のアプリ名称と被ってしまうと登録できません。




「Get Keys」をクリックすると
API Key / API Key Secret / Bearer Token
が表示されます。

これらはTwitter APIに接続するために必要です。
ここでしか表示されないのですべてメモ帳などにコピーして保存します

他人にこのKeyは公開しないように注意してください。



保存したら下部の「Skip to dashboard」をクリックします。

すると先ほど作ったApp Nameのプロジェクトが出来上がっています。


User authntication settingsの設定方法

Dashboard画面から作成したアプリの右端の鍵マークをクリックします。



続いて「Settings」をクリックします。


続いてUser authntication settingsを行います。
これは作成したTwitter appにKNIMEからログインするための認証方法を設定するためです。
「Set Up」をクリックします。



Oauth 2.0とOauth 1.0aがあります。
今回は1.0aを選びます。

App permissionsは
「Read and write」を選択します。
Call back URL/Redirect URLとWebsite URLは何でもよいので
自分のブログのURLにします。

適当なURLをお持ちでない場合はTwitterのURL(https://twitter.com/home)
で良いそうです。

そのほかの項目は特に変更せずに「Save」をクリックして進めます。


設定が完了したら元の画面に戻ります。
「Keys and tokens」をクリックします。





Access Token and Secretの欄の「Generate」をクリックします。

アクセストークンとパスワードが発行されます。
こちらもここでしか表示されないのですべてメモ帳などにコピーして保存します



保存したら「Yes, I saved them」をクリックし元の画面に戻ります。



Elevated アクセスへの申請

続いてElvatedアクセスへの申請手順を説明します。

ここまでの作業ですでにTwitter APIを制限付きで使用することができていますが
Twitter Connectorノードを使用する場合は制限解除をする必要があります。

制限付きアクセスをEssential、制限解除のアクセスをElevatedアクセスと呼びます。
どちらも無料で申請可能です。

まずTwitter開発アカウント画面から画面上部のDeveloper Portalをクリックし
「Developer Portal」→「Products」→「Twitter API v2」の順にクリックします。



Essentialアクセス画面に飛びます。
「Your Project has Essential access:Project 1」にチェックマークがついていることを
確認してください。

Elevatedをクリックします。


Elevatedアクセスはまだ取得申請していないので
「Apply for Elevated」から申請します。

すると開発アカウント申請時と同様の質問を聞かれますので記入します。
コーディングスキルレベルは私はほぼないので「No experience」を選択します。
下記のように記入して「Next」をクリックします。

するとさらに詳細な質問項目が出てきます。


In your words

In English, please describe how you plan to use Twitter data and/or APIs. The more detailed the response, the easier it is to review and approve. 

上記のように英語でTwitter APIの利用目的を書くように求められます。
私は下記のように回答しました。

使用する機能使用しない機能について説明し、個人利用の場合は
ビジネスのために使用しないことを記述すると良いそうです。

I am using this app for the main purpose of auto-tweeting and getting my own timeline.
I plan to auto-tweet only a few times a day and will not auto-post frequently.
I will not use features such as likes or retweets with this app.
I will also not be using it for business purposes.


次の項目はツイッターデータの解析をするか聞かれますので、Noを選択します。
Are you planning to analyze Twitter data?

次はツイート、リツイート、いいね、フォロー、
ダイレクトメッセージの機能を使うかどうか聞かれます。
こちらは使用予定なのでYesを選択し
使用する機能としない機能について説明します。
Will your App use Tweet, Retweet, Like, Follow, or Direct Message functionality? 

 こちらについては下記のように回答しました。
I plan to use the tweet function.
I do not plan to use the Retweet, Like, Follow, or Direct Message functions.

続いてTwitterのデータやツイートを外部で表示する予定があるか聞かれます。
公開の可能性があるのでここはYesにします。
Do you plan to display Tweets or aggregate data about Twitter content outside Twitter?
綿足は下記のように回答しました。
I have plans to publish data obtained using the Twitter API on my personal blog.
The URL of the blog is as follows https://shineemployees.blogspot.com/.
The blog is written in Japanese only.

続いて作成したアプリの情報を政府機関が利用できるようにするか聞かれます。
特に情報が利用できるようにする必要はないのでNo.と回答します。

Will your product, service, or analysis make Twitter content or derived information available to a government entity?

ここまで記入したら「Next」をクリックします。
追加で確認画面になるのでさらに「Next」をクリックします。

ライセンスの確認画面となりますのでチェックボックスにチェックをいれて
「Submit」を押します。

するとElevatedアクセスの申請が承認されました。
これでTwitter Connectorノードを作成できるようになりました。

これで設定完了です!お疲れ様でした!


ワークフローの作成

それではワークフローを作成していきましょう!
Node Repository画面に「Twitter」と入力します。

するとTwitter Connectorノードが一覧で出てきます。
Twitterでツイートしたり、ユーザーを検索したり、リツイートを検索したり
様々な動作をKNIMEから制御するノードがそろっております。



その中からTwitter API ConnectorノードとTwitter Timelineノードを
下記のように配置します。
まずはTwitter API ConnectorのConfigure画面を開きます。
するとAPI key / API secret / Accecss token / Access token secret
を入力する画面になります。

先ほどTwitter 開発者用アカウント申請時に生成された
API key / API secret / Accecss token / Access token secretをここに入力します。


入力完了したらOKを押します。

続いてTwitter TimelineのConfigure画面を開きます。

取得したいタイムラインを選択します。

mentions
使用しているアカウントへのメンションツイートを一覧で取得します。

user
下のUserのテキストボックスに任意のユーザーIDを入力することで
そのユーザーのツイートの一覧を取得することができます。

home
使用しているアカウントのホーム画面のタイムラインを取得できます。

retweets
使用しているアカウントのツイートでリツイート、引用リツイートされたツイートを
一覧で取得できます。



今回は私のアカウント(@Shineemployee)のツイートの一覧表を取得します。
timeline for user
を選択して
user : @Shineemployee
と入力し「OK」を押します。

Twitter timelineをExecuteし、結果を確認します。
下記のようにわたくしのツイートの一覧を出力することができました!



もしExcelデータなどで出力したい場合はこの後ろに
「Excel writer」などを接続してエクセルファイルで出力できます。



あとがき

いかがでしたでしょうか?
今回はTwitterのタイムラインを取得する処理を行いましたが
ノードや設定を変更すれば特定の検索ワードに関係するツイートを一覧で取得したり
あらかじめ設定した文言をツイートすることもできます!

またKNIMEのワークフローを自動実行するようにスケジュールしておくと
定期的に自動的にツイートするようなことも可能です。

KNIMEは表計算に主に使われるソフトですがTwitterをはじめとする各種APIとの
連携が非常に強く他のwebサービスとの接続ノードが豊富にあります。

それらに関しても今後の記事でご紹介できればと思います。
それでは!


このブログを検索

注目の投稿

【KNIME】(ナイム)最強の表計算マクロソフト!KNIME(ナイム)のご紹介!使い方は?できることは?

この記事の概要 KNIME(ナイム)は表計算、マクロ動作を主機能とするフリーソフト。 エクセルと同等の機能を有しており、行列計算やグラフ描画可能。 ノードと呼ばれる箱を線で繋ぐことで計算処理を行う事が出来るため 関数名などを覚える必要はなく、処理の内容が分かりやすい。 Pytho...

スポンサー広告

スポンサー広告

QooQ