自分のTwitter全ステータスを保存
コマンドライン引数にユーザ名とパスワードを指定すること。
#!/usr/bin/ruby -Ku require 'rexml/document' require 'net/http' require 'date' Net::HTTP.version_1_2 user, pass = ARGV hr = '-' * 100 open('twitter.txt', 'w') do |out| Net::HTTP.start('twitter.com', 80) do |http| i = 1 loop do path = "/account/archive.xml?page=#{i}" puts path req = Net::HTTP::Get.new(path) req.basic_auth(user, pass) responce = http.request(req) break unless responce.kind_of?(Net::HTTPSuccess) xml = REXML::Document.new(responce.body) break unless xml.root.name == 'statuses' xml.elements.each('/statuses/status') do |e| id = e.elements['id'].text created_at = e.elements['created_at'].text text = e.elements['text'].text.gsub('<', '<').gsub('>', '>') screen_name = e.elements['user/screen_name'].text datetime = DateTime.parse(created_at) uri = "http://twitter.com/#{screen_name}/statuses/#{id}" puts uri out.puts uri out.puts '( %d年%d月%d日 %02d:%02d )' % [datetime.year, datetime.month, datetime.day, datetime.hour, datetime.min] out.puts text out.puts hr end i += 1 sleep 3 end end end