読者です 読者をやめる 読者になる 読者になる

kitak.blog

Kみたいなエンジニアになりたいブログ

Twitterで、今日、特定のキーワードでツイートされた回数、ツイートしたユーザーのフォロワー数を数えるRubyスクリプトを書いた

こんにちは。キャベツ炒め大好き きたけーです。

小さくてもその日に書いたコードを載せていきます。 今日は、Twitterで今日、特定のキーワードで「ツイートされた回数」、「ツイートしたユーザーのフォロワー数」を数えるスクリプトを書きました。

バイラル係数の計算式の中には「平均して1ユーザーが何人に向けてSNS投稿やメール招待を行うか」 といった項がありますが、今回書いたスクリプトに少し手をいれることで、項の数値を用意することができそうです。

refs: http://growthhack.vasily.jp/2014/01/viral-coefficient/

require "twitter"
require "active_support/time"

client = Twitter::REST::Client.new do |config|
  # pitで管理するとよいですね
  config.consumer_key = "xxx"
  config.consumer_secret = "xxx"
  config.access_token = "xxx"
  config.access_token_secret = "xxx"
end

count = 0
total_followers_count = 0
max_id = nil
query = "きたけー" # キーワード

begin
  client.search(query, lang: :ja, locale: :ja, max_id: max_id).each do |tweet|
    next if tweet.created_at >= 1.day.since.beginning_of_day
    if tweet.created_at < Time.now.beginning_of_day
      max_id = nil
      break
    end
    count += 1
    total_followers_count += tweet.user.followers_count
    max_id = tweet.id
  end
end while max_id != nil

puts "ツイート数 #{count}"
puts "フォロワー数のトータル #{total_followers_count}"
puts "平均フォロワー数 #{total_followers_count / count.to_f}"