発言はできるようになっていたので、後はtimelineの取得ですね。というわけで以下Rのコードです。どこからどう見てもRubyではなく、Rのコードです。
timeline <- function(){ ruby <- paste(" #!/usr/bin/ruby -Ke # -*- coding: utf-8 -*- require %q[rubygems] require %q[hpricot] require %q[mechanize] require %q[yaml] require %q[pp] twitter_base = %q[http://twitter.com/] agent = WWW::Mechanize.new agent.max_history = 1 page = agent.get(twitter_base) config = YAML.load_file(%q[/Users/yasuhisa/twitter.yaml]) login_form = page.forms[1] login_form[%q[username_or_email]] = config[%q[username]] login_form[%q[password]] = config[%q[password]] agent.submit(login_form) source = Hpricot(agent.get_file(twitter_base)) name = [] (source/%q[td.content>strong>a]).each{ |item| name.push item.inner_text } entry = [] (source/%q[span.entry-content]).each{ |item| item = item.inner_text item = item.gsub(/\\t/,%q[]) item = item.gsub(/\\s/,%q[]) entry.push item } twitter = [name,entry].transpose twitter.each{|item| puts %[#{item[0]}\t#{item[1]}] } ",sep="") return(read.table(textConnection(system(paste("echo '",ruby,"'"," | ruby ",sep=""),intern=TRUE)))) } twit <- timeline() twit
実行するとこんな感じ。
> twit <- timeline() > head(twit) V1 1 takashyx 2 hmori 3 hmori 4 hmori 5 kis 6 takashyx V2 1 itunesをシャッフルで流してると高確率でジャズとメタルが交互に 2 @alohakunそういえば風呂もはいてないや。またよろしく。おやすみ 3 @alohakun40は過ぎています。 4 あ、ちょっとまずい。貢献っていっても作り上げたWEB専用OSだとか、低消費電力サーバソフトだとか。。そういう具体的な物で、教育しろってことじゃない。 5 @yasu_kobayashi投機家 6 犯行依頼→アウト よって 犯行依頼は犯罪 よって犯行予告→アウト から 犯行依頼の予告→アウト か。
これでRやりながらでも快適なTwitter生活がすごせますね。解析に行きづまった時にどうぞ!!