twitterのfollowしていないfollower
followerのメール通知が漏れているような気がしたので、followし忘れている人を調べる
open(http://zanmai.com/asdfasdf, :http_basic_authentication => [@user, @pass])
こうすると入れる
twitter-follower-following-diff.rb
#!/usr/bin/env ruby require 'rubygems' require 'open-uri' require 'rexml/document' require 'kconv' class TwitDiff def initialize(user,pass) @user = user @pass = pass end def followers get_users("http://twitter.com/statuses/followers.xml", 10) end def friends get_users("http://twitter.com/statuses/friends.xml", 10) end def get_users(uri, max_page=10) results = Array.new for page in 1..max_page print "reading page#{page}..." page = open(uri.to_s+'?page='+page.to_s, :http_basic_authentication => [@user, @pass]).read() break if (page =~ /<user>/) == nil doc = REXML::Document.new(page) REXML::XPath.each(doc, '//user/screen_name()'){ |name| results.push(name.text) } puts " #{results.length} users" sleep 10 end puts 'finished!' return results end end
irbから使う
>> load 'twitter-follower-following-diff.rb' >> tw = TwitDiff.new("username", "passwd") >> followers = tw.followers; friends = tw.friends reading page1... 100 users reading page2... 199 users reading page3... 297 users reading page4... 396 users reading page5... 478 users reading page6...finished! reading page1... 100 users reading page2... 196 users reading page3... 293 users reading page4... 389 users reading page5...finished!
followしていないfollowerを調べる
>> diff = Array.new(followers) >> friends.map{|x| diff.delete(x)} >> diff.each{|f| print f+' '} 2nihon deldelete francesco3 kokiya karenquessy ddnote godnee gaykawasaki elvisbw TheGetEmMamis R_K elaxnis KH80T4NNC8O6 kellyabbot ufchits tkusano davidkima69 yuukorin HELPER_A MTVbestshowever fmts chazawa Victoria_Recano rsyudo planets1 kikuchige Seventale repserc_BAN vingtsept HappyOcean honishi kajuntk gadgetgirl79 DigitalFunTown twwatcher sjames23 tuskdon wtsn no_Connection Situn note103 upo Ascendancy gatya45 SAN_Morishi svarogg videowomen CageFighterKid ripped credit_card_faq Oozzl cc02jp dealsgalore mashcrunch luvgoo riywo AtomicPopcorn WallpaperManica sakazee TopPorn chicka89 twellow kylerheckman DuncanCarver KazuyoshiMorita gonza29 IMBlogger sowaka outsourcing2 cafebuzz roby006 Koitaroh guidebulgaria yukitanuki soooichiro Indiansingles yasutakky sgtakeru shinyai bike_rider thejustinesane kyolo Xenarae usk shinkee wildwell honhim kimucha tradingnothing juancarzola hanage leepz shihorix hikikimo chiyama syttru nippon_jin Xyo m0dest slick_carlvesel nejimakidai biblepassages biblequotes bibleverses quercia tw100 SamBrownback4 youyeahofjoytoy allyzhang con_mame Junyam joki_tw kawasakigrrl08 omniscient rm233 yasu00000 J_ENT mybuddy transformer45 tJyro movietrivia faultier drgqst mylittlepony 33rpm JimGilmore89 silversurfer672 kpbr licht sironekotoro MikeGravel3 BarackObama4 foursue snews 87oasam asesino movatest worstgirl AnneMoen twmode kasshy keroru Mcmoong yheld ladylog dwingdwang pwytter hirameki newcommunity obacan3 Speech jijiseminar lililryocolilil salento gestionale twitteradder 10ML taisei3200 fastfreddy LouiZoot sumotv q_chan MyUFO kenrou zept1971
10人ずつfirefoxで開く
>> 10.times do uri='http://twitter.com/'+diff.shift; `open #{uri}` end