Revision: 17325
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at September 1, 2009 05:02 by beandr
Initial Code
#! /usr/bin/ruby
require 'rubygems'
require 'json'
require 'net/http'
require 'uri'
class TwitterBackup
def backup(username)
url = URI::parse('http://twitter.com')
page = 1
loop do
req = Net::HTTP::Get.new("/statuses/user_timeline.json?screen_name=#{username}&count=200&page=#{page}")
res = Net::HTTP.start(url.host, url.port) {|http| http.request(req) }
if res.body.length > 2
process_response(JSON.parse(res.body))
else
break
end
page += 1
end
end
protected
def process_response(response_json)
response_json.each do |tweet|
puts "#{Time.parse(tweet['created_at']).strftime("%A %d %B %Y at %I:%M%p")}, #{tweet['text']}, #{tweet['source']}, #{tweet['in_reply_to_screen_name']}"
end
end
end
TwitterBackup.new.backup(ARGV[0])
Initial URL
http://twitter.com
Initial Description
To run, save as twitterbackup.rb: ruby twitterbackup.rb yourtwittername
Initial Title
Backup your Twitter Tweets
Initial Tags
script, backup, ruby, twitter
Initial Language
Ruby