какбэ |

Oct/11

5

Твитор и Яблоко

Внезапно, мне стало интересно сколько же флудеров напишет сегодня про Эплопрезентацию, так какбэ говно вопрос. Возьмем да и посчитаем.

Считать будем используя ruby и гем tweetstream, как базу данных я взял mysql. Если кто не знает, что такое твиттерстрим, читать вот тут.

Сам скрипт получился очень простой, указываем ключевые слова, создаем стрим и вставляем данные в базу данных. Интересна лишь строчка с определением русскоязычности твита, считаем что если в твите >5 кириллических символов, твит от русскоговорящего человека. Эти 5 символов – получились из тестов, как оказалось, японцы очень любят нашу букву Д и И) В общем да, с определением, русский ли это твит есть некая малая погрешность.

require 'tweetstream'
require 'mysql2'
require 'yajl'

def start

  @db = Mysql2::Client.new( :host => host,
                            :username => username,
                            :password => password,
                            :database => database,
                            :reconnect => true)

  TweetStream.configure do |config|
    config.username = user
    config.password = paswd
    config.auth_method = :basic
    config.parser   = :yajl
  end

  stream = TweetStream::Client.new
  q = 'Айфон,iphone,ios,ipad,ipod,джобс,кук,макбук'

  stream.on_error do |message|
    # Log your error message somewhere
    puts message

  end.track(q) do |status|
    #Если в твите >5 русских символов
    #то c большей вероятностью, это русский твит.
    next if status.text.scan(/[а-яА-Я]/ui).length < 6

    begin

      sql = "INSERT INTO twi_keywords (
        twi_id,
        screen_name,
        tweet,
        created_at,
      )
      VALUES (
        '#{status.user.id}',
        '#{status.user.screen_name}',
        '#{status.user.name}',
        '#{status.text}',
        '#{Time.parse(status.user.created_at)}'
      )"

      ret = @db.query(sql)
    rescue => e
      puts "Error happens #{e.message} \n #{sql}"
      sleep 3000
    end

  end

end

А вот теперь, самое интересное, статистика!
За время презентации, с 21:00 до 22:30 было написано 7090 твитов про Apple. Не много, хотя и ой как не мало. Получается, что в минуту писали 78 твитов!
Да, ксатти, я проводил миниконкурс, кто будет самое близок в оценке количества твитов, им окакзался @jaymz_aka_bruse с твитом: https://twitter.com/jaymz_aka_bruse/status/121251938242273280

Статистику я поставил собираться с 20:00 примерно. За это время, там собралось где-то 22 тысячи твитов) И все про Яблофоны :) 
Кому интересно, все твиты можно посмотреть тут, распоковав архив и открыв csv файл например в excel :) 
В общем как-то так)

No tags

  • http://medvedkrevedkov.blogspot.com mikhail kazakov

    Джобс, Кук, Макбук!

  • http://twitter.com/jaymz_aka_bruse Bruse

    ае! А где же плюшки за конкурс?)

  • http://twitter.com/babi4 Babi4

    я скоро тебе напишу : )

>>

WordPress

Theme Design by devolux.nh2.me