tweepy で フォローした人をリストアップする

アカ名にあるコミケサークルの配置場所情報を取るための前段階として, tweepy で フォローした人をリストアップについて,@frogshisoと奮闘した結果.

1. APIについて

フォローした人を取得するAPIは,リファレンスによるとAPI.friends()で取得できるらしい.

http://docs.tweepy.org/en/latest/code_snippet.html#pagination

# Iterate through all of the authenticated user's friends
for friend in tweepy.Cursor(api.friends).items():
    # Process the friend here
    process_friend(friend)

しかし,これはTwitter APIfriends/listを使っているらしく,1度に200人 * 15分に15回 とかなんとかで,そんなに多くは使えない.

もっと効率よく取得する方法を考える.

と,考えている人が既にいた.

rubyでのコードだが,仕組みは流用できそうなので試した.

大まかな流れは,

  1. friends/idsで,すべてのフォローした人のIDを取得
  2. users/lookupで,100件ごとに詳細を問い合わせる

friends/idsは,1回で5000人取得でき,users/lookupは,1回に100人 * 15分に180回 なので,普通の人ならまず困らないだろう.

tweepyで,users/lookupを使う方法はリファレンスには載っていなかったが,コードにはあったのでそれをつかう.

で,完成したコードが以下のコード

これでフォローした人をすべて取得できた.

備考

フォロワーすべて取得するのは,api.friends_idsapi.followers_idsにしてやればいい.