Twitterのフォロー(ワー)一覧をCSVで取得する
Twitterのフォロー一覧、フォロワー一覧をCSVで取得するrubyスクリプトです。
本来ならTwitrterAPIで取ってくるところなんですが、users/lookupがバグってるっぽくって正しく取得することができません。
何故か重複してユーザ情報を返してきます。
そこで、ブラウザからデータをコピーしてスクリプトで整形することにしました。
フォロー一覧を取得したいユーザのTwitterのWebに行って、手でスクロールして全部表示します。
そこでテキストをコピーして、「フォローする」(or 「フォローしている」)という文字から「topへ戻る」という文字(これは含めず)まで切り取ってテキストファイルに保存した後にこのスクリプトを実行します。
ちなみにChromeでコピーしていますので、他のブラウザーで動くかどうかはわかりません。
本来ならTwitrterAPIで取ってくるところなんですが、users/lookupがバグってるっぽくって正しく取得することができません。
何故か重複してユーザ情報を返してきます。
そこで、ブラウザからデータをコピーしてスクリプトで整形することにしました。
フォロー一覧を取得したいユーザのTwitterのWebに行って、手でスクロールして全部表示します。
そこでテキストをコピーして、「フォローする」(or 「フォローしている」)という文字から「topへ戻る」という文字(これは含めず)まで切り取ってテキストファイルに保存した後にこのスクリプトを実行します。
ちなみにChromeでコピーしていますので、他のブラウザーで動くかどうかはわかりません。
#coding:utf-8
data = ""
File.open(ARGV[0]) do |f|
data = f.read
end
ary = data.split(/(?: フォローする \n| フォロー\nしている \n)/m)
ary.shift
result = []
ary.each do |line|
items = line.split(/\n/)
result << {
screen_name: items[0][0, items[0].index(" ")],
name: items[0][items[0].index(" ") + 1, items[0].length],
content: items[1]
}
end
result.each do |line|
puts '"' + line[:screen_name] + '","' + line[:name] + '","' + line[:content].to_s + '"'
end