Skip to content

Instantly share code, notes, and snippets.

@0xnbk
Created September 13, 2010 08:37
Show Gist options
  • Save 0xnbk/576998 to your computer and use it in GitHub Desktop.
Save 0xnbk/576998 to your computer and use it in GitHub Desktop.
Backup your tweets (Ruby)
#! /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])
@0xnbk
Copy link
Author

0xnbk commented Sep 13, 2010

Backup your tweets (Ruby)

Are you a Ruby programmer who always wanted to be able to keep a backup of his tweets? If yes, you’ll love this snippet.
To run, save as twitterbackup.rb and launch from the command line:
ruby twitterbackup.rb yourtwittername

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment