Help us understand the problem. What is going on with this article?

Ruby2.3&Twitter Ruby GemでTwitterキーワード検索を試す

More than 3 years have passed since last update.

だいぶ前に書いた記事のアップデート版です。
2016/4/1時点での最新版のRuby2.3とTwitter Ruby GemでTwitterキーワード検索の動作確認しました。

環境

サンプルコード

Twitter_KeywordSearch.rb
#!/bin/env ruby
#encoding:UTF-8
require "twitter"

# アプリケーションキー(consumer key/secret)の読み込み
# OAuth アクセストークンの読み込み
@client = Twitter::REST::Client.new do | cnf |
  cnf.consumer_key = "****************************************"
  cnf.consumer_secret = "****************************************"
  cnf.access_token = "****************************************"
  cnf.access_token_secret = "****************************************"
end

# 変数の初期化
since_id = 0
counter = 0

# 無限ループ
while counter == 0  do
    begin
      # 引数で受け取ったワードを元に、検索結果を取得し、古いものから順に並び替え
      # ※最初はsince_id=0であるため、tweet ID 0以降のTweetから最新のもの上位100件を取得
       @client.search(ARGV[0], count: 100, result_type: "recent").take(100).reverse.collect do |tweet|

        # Tweet ID, ユーザ名、Tweet本文、投稿日などなど・・・を1件づつ表示
        p tweet.user.id
        p tweet.user.screen_name
        p tweet.user.description
        p tweet.user.location
        p tweet.text
        p tweet.retweet_count
        p tweet.favorite_count
        p tweet.geo
        p tweet.place
        p tweet.source
        p tweet.created_at
        print("\n")

        # 取得したTweet idをsince_idに格納
        # ※古いものから新しい順(Tweet IDの昇順)に表示されるため、
        #  最終的に、取得した結果の内の最新のTweet IDが格納され、
        #  次はこのID以降のTweetが取得される
        since_id=tweet.id
      end

    # 検索ワードで Tweet を取得できなかった場合の例外処理
    rescue Twitter::Error::ClientError
      # 60秒待機し、リトライ
      sleep(60)
      retry
    end
    sleep(60)
end

実行

% ruby Twitter_KeywordSearch.rb 検索ワード
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした