Apr
12th
2011
Tue
12th
2011
A short ruby script to pull your twitter followers who aren’t in any lists
#!/bin/env ruby
require 'twitter'
username = 'fields'
def get_cursor_results(action, items, *args)
result = []
next_cursor = -1
until next_cursor == 0
begin
t = Twitter.send(action, args[0], args[1], {:cursor => next_cursor})
result = result + t.send(items)
next_cursor = t.next_cursor
rescue Twitter::BadRequest
puts "Bad request, waiting an hour to see if the rate limit lifts"
puts "Waiting at #{Time.now}"
sleep 3610
retry
end
end
return result
end
friends = get_cursor_results('friends', 'users', username)
lists = get_cursor_results('lists', 'lists', username)
screen_names = friends.collect{|x| x.screen_name}
listless_friends = screen_names
lists.each{|list|
lm = get_cursor_results('list_members', 'users', username, list.slug)
lm_screen_names = lm.collect{|x| x.screen_name}
puts "found list #{list.slug} with members #{lm_screen_names}"
listless_friends -= lm_screen_names
""
}
puts listless_friends