require 'net/http'
require 'rubygems'
require 'active_support'
url = URI.parse("http://www.facebook.com/ajax/social_graph/fetch.php")
5.times do |page|
req = Net::HTTP::Post.new(url.path, {
'Content-Type' => 'application/x-www-form-urlencoded; charset=UTF-8',
'User-Agent' => 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_1; en-us) AppleWebKit/531.9 (KHTML, like Gecko) Version/4.0.3 Safari/531.9',
'Origin' => 'http://www.facebook.com',
'X-Svn-Rev' => '189912',
'Accept-Language' => 'en-us',
'Cookie' => 'lotsamagicstuff',
})
req.body = "page=#{page}&edge_type=fan&limit=100&class=FanManager&node_id=47337974490&post_form_id=magic&fb_dtsg=magic&post_form_id_source=AsyncRequest&__a=1"
response = Net::HTTP.start(url.host, url.port) do |http|
http.request(req)
end
puts "Got Page #{page}"
File.open("/tmp/fb_fanjack_page#{page}.js", 'w').write(response.body)
end
puts 'facebook_id,Name,City-state,facebook_pic_big'
5.times do |page|
js = File.read("/tmp/fb_fanjack_page#{page}.js")
js = js.gsub(/for \(;;\);/, '')
data = ActiveSupport::JSON.decode(js)
users = data["payload"]["user_info"]
users.each do |user|
puts '"' + [user[0], user[1]['title'], user[1]['subtitle'], user[1]['pic']].join('","') + '"'
end
end