LoginSignup
1

More than 5 years have passed since last update.

posted at

updated at

Twitter の特定アカウントのツイートをフィルタリングしてみる

ある人の発言

「任意のアカウントのいいねとRTを集めて、さらにフィルタできるアプリがあったらすごく情報収集が捗りそうですね。」

たしかに、気になったアカウントがあっても、どんな人気のツイートをしているかはすぐにフィードからなくなるので確かめにくいですよね。

アプリの前にとりあえずエクセルでやってみました。同じやり方でPowerBI などのBI でフィルタリングしたTweet データを表示したり、アプリで同じことを行うことができます。

CData Excel Add-in について

CData Drivers にExcel のUI を付けた製品です。80以上(2017/12現在)のデータソースに対応しています。Twitter は人気データソースの一つです。Excel 画面からSQL すら書くことなくクラウドサービスのデータをExcel テーブルにロードが可能です。ロードしたデータをExcel 上で更新、削除も可能です。新しいデータの挿入も可能ですので、例えばTweets というテーブルに挿入すると、、、Twitter に新しいTweet をすることもできます。
よくあるケース:
庶民のBI
Salesforce などSaaS のデータクレンジングツール
Excel データのDB への移ツール行
SaaS 間の手動ETL ツール

この記事では、BI・アナリティクスに近い使い方であるツイート分析の為のデータ作成をしてみます。

準備

  1. CData Excel Add-in をダウンロードします。30日の無償トライアルが使えます。
    http://www.cdata.com/jp/drivers/twitter/excel/

  2. Twitter のアプリを作成します
    API を使用する為にTwitter アプリを作る必要があります。

    • https://dev.twitter.com/apps にログインします。
    • [Create New App]をクリックします。
    • ユーザーが接続時に表示される[Name]、[Description]、[Website]を入力します。
    • コールバックURL をhttp://127.0.0.1/ に設定します。 image.png
  3. アプリ作成後に[Keys and Access Tokens]のタブで[Consumer Key (API Key)]、[Consumer Secret (API Secret)]、[ Access Token]、[Access Token Secret]を確認して、後で使うので取っておきます。

Twitter から特定アカウントでフィルタ、Tweets をRT数でソートしてExcel に取り込む

  1. Twitter アプリとの接続を確立
    ConnectionExcel.png
    http://cdn.cdata.com/help/GTB/xls/pg_connectingtotwitterxls.htm

  2. 取得したいアカウントのScreen_Name がわからないときは一度「Following」テーブルで確認
    スクリーンショット (214).png
    スクリーンショット (215).png

  3. 「Tweets」テーブルで取得したいアカウントのツイートを取得
    とりあえず今回はアカウントを特定して、Retweet が多い順に100ツイートを取得します。
    CData コンポーネントはWeb APIを直接叩かずに標準SQL で書けるのが素晴らしいです。

    SELECT * FROM [Tweets] WHERE Screen_Name = 'Screen Name' ORDER BY Retweet_Count DESC LIMIT 100

    Twitter API はリミット制限が結構厳しいのでリミットにヒットしたら、解除されるまで1時間待ちましょう。

  4. これでExcel テーブルとして、ツイートが取得されます。
    スクリーンショット (222).png

なんだか、Twitter UI からは覗けないものを除いた感じで楽しいですね。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1