LoginSignup
5
3

More than 5 years have passed since last update.

ElixirでTwitterを検索する

Last updated at Posted at 2018-02-09

ElixierでTwitterを検索してみました。あまりにも簡単だったのでメモっておきます。extwitterというTwitter client libraryを使います。extwitter公式サイト

 まずプロジェクトを作成します。

mix new twittertest

 次にapplication environmentを利用して初期設定を行います。すなわちmix newで作成されたconfig/config.exsファイルにTwitter APIのキーを設定します。以下の項目をファイルの末尾に追加します。

config/config.exs
#
config :extwitter, :oauth, [
   consumer_key: "xxxxx",
   consumer_secret: "xxxxx",
   access_token: "xxxxx",
   access_token_secret: "xxxxx"
]
#

 次にmix.exsを編集して、必要なライブラリを設定します。

mix.exs
#
defp deps do
  [
    {:oauther, "~> 1.1"},
    {:extwitter, "~> 0.8"}
  ]
end
#

 extwitterはTwitterの REST API.をcallする時の認証にoautherを利用しています。公式サイトでは以下のような修正も必要だとありますが、多分これはもう不要です。最近のelixirはdepsにあるアプリを自動的にスタートしてくれるみたいです。実際にこれ無しで動作しましたので。

不要個所
def application do
  [applications: [:logger, :extwitter]]
end

 ライブラリをインストールして、シェルを立ち上げます。

mix deps.get
iex -S mix

 シェルが立ち上がったら、ExTwitter.search()で好きな単語で検索してみましょう。Elixirに関心あるあなたは数学者にも関心があるでしょう。以下のように検索してみます。

iex(1)> ExTwitter.search("望月新一")
[
  %ExTwitter.Model.Tweet{
    retweeted: false,
    quoted_status: nil,
      ...
    },

  ---

    text: "友達に教えてもらった、京大の望月新一氏(ABC予想を証明した数学のめっちゃすごい人)のブログを読んでる。\n読んでると脳みそ溶けそうになるくらいわけわからなくて面白いです。",
    scopes: nil,
    entities: %{hashtags: [], symbols: [], urls: [], user_mentions: []}
  },
  %ExTwitter.Model.Tweet{

 プログラムを書きませんでしたが、簡単にTwitterの検索を行えました。前に「Meteor and Reactによるリアクティブシステム「ラーメン野郎を追いかけろ! @ Twitter」を作ってみた - Qiita」を書いたときにMeteor(node)でTwitterのStream APIを使いましたが、extwitterでも使えるようです。そのうち試してみたいと思います。

5
3
0

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
  3. You can use dark theme
What you can do with signing up
5
3