@monadoの日記 このページをアンテナに追加 RSSフィード

2008-02-25えくそいぼっと

えくそいぼっと改良中

いろんな機能を追加してます。

http://twitter.com/exsoy_bot


あまり手の内をあかすと逆につまらなくなっちゃうので、この辺から推測して色々試してみてください。

http://twitter.1x1.jp/search/?source=&keyword=exsoy_bot


コーパスの作り方

ちなみにexsoy_botを作るにあたって、exsoyと旧exsoyのtwitterページをスクレイピングしてコーパスを作りました。何かの役に立つかもしれないので、コードを載せておきます。途中でタイムアウトした場合の例外処理はしてないので、そのときはpageをいじって切れたところからやりなおせばいいと思います。

それにしてもhpricot便利!

require 'rubygems'
require 'hpricot'
require 'open-uri'

$twitter_id = 'exsoy'
$export_file = 'exsoy.txt'

def scrape(page)
  doc = Hpricot( open("http://twitter.com/#{$twitter_id}?page=#{page}").read )
  flag = false
  open($export_file,'a') do |z|
    (doc/"td.content").each do |td|
      entry = href = published = reply = ''
      (td/"span.entry-content").each do |span|
        entry = span.inner_html.gsub(/<.+?>/,'').strip
      end
      (td/"a.entry-date").each do |a|
        href = a[:href].strip
      end
      (td/"abbr.published").each do |abbr|
        published = abbr[:title].strip
      end
      (td/"a[text()*='in reply to']").each do |a|
        reply = a[:href].strip
      end
      z.puts [entry, href, published, reply].join("\t")
      flag = true
    end
  end
  flag
end

page = 0
while scrape(page+=1)
  puts page
end

ゲスト



トラックバック - http://twitter.g.hatena.ne.jp/leibniz/20080225