ニートが学ぶプログラミング

ニートの日記。プログラムのことやら、くだらないこと、思ったことをまとめていきます。頑張って毎日更新するぞぉ_(:3」∠)_ 更新が連続して途切れたら察してください。

各政党のフォロワーIDをデータベースに追加してみた

こんにちは鬱太郎です。今日は日本の政党のフォロワーIDをデータベースに格納してみましたので、それを記事にしたいと思います。

f:id:neet-utsu-taro:20171014204511p:plain:h300

/followers/ids

今回はTwitterAPIの/followers/idsを使っていきたいと思います。

Get followers/ids

指定したユーザーに続くすべてのユーザーのユーザーIDのカーソル付きのコレクションを返します。 現時点では、結果は最新のものから順番に並べられますが、この注文は予告なしに変更され、一貫性の問題が発生する可能性があります。結果は5,000ユーザーIDのグループで与えられ、結果の複数の「ページ」は後続の要求でnext_cursor値を使用してナビゲートできます。詳細については、「カーソルを使用したコレクションのナビゲート」を参照してください。 このメソッドは、GET users/lookup と組み合わせて使用​​すると特に強力です。これは、ユーザーIDをフルユーザーオブジェクトに一括して変換できるメソッドです。

GET followers/ids — Twitter Developers

このアクセスにはレートリミットが存在します。15分に15回しかアクセスできません。

1回につき5000人のIDを取得できます。

ですので、15分に75000人のIDしか取得できませんね。

Twitter4jではTwitter#getFollowersIDsというメソッドを使います。

各政党のフォロワーIDを取得してMongoDBに格納

自民党

f:id:neet-utsu-taro:20171014195206p:plain

5000件取得
・・・
5000件取得
途中で75000件追加しました。
レートリミット回復のため897000[ms] 停止します。
5000件取得
・・・
5000件取得
4328件取得
49328件追加しました。

クリックしてターミナルの結果を見る

f:id:neet-utsu-taro:20171014191639p:plain

公明党

f:id:neet-utsu-taro:20171014181555p:plain

5000件取得
・・・
5000件取得
3705件取得

クリックしてターミナルの結果を見る

f:id:neet-utsu-taro:20171014181317p:plain

希望の党

f:id:neet-utsu-taro:20171014124126p:plain

5000件取得
5000件取得
607件取得

クリックしてターミナルの結果を見る

f:id:neet-utsu-taro:20171014131304p:plain

民進党

f:id:neet-utsu-taro:20171014195747p:plain

レートリミット回復のため91000[ms] 停止します。
5000件取得
5000件取得
5000件取得
5000件取得
5000件取得
335件取得
25335件追加しました。

クリックしてターミナルの結果を見る

f:id:neet-utsu-taro:20171014200026p:plain

立憲民主党

f:id:neet-utsu-taro:20171014194937p:plain

5000件取得
5000件取得
5000件取得
5000件取得
5000件取得
途中で25000件追加しました。
レートリミット回復のため450000[ms] 停止します。
5000件取得
・・・
5000件取得
途中で75000件追加しました。
レートリミット回復のため897000[ms] 停止します。
5000件取得
・・・
5000件取得
4896件取得
74896件追加しました。

クリックしてターミナルの結果を見る

f:id:neet-utsu-taro:20171014194428p:plain

日本維新の会

f:id:neet-utsu-taro:20171014140456p:plain

5000件取得
5000件取得
3707件取得

クリックしてターミナルの結果を見る

f:id:neet-utsu-taro:20171014140924p:plain

日本のこころ

f:id:neet-utsu-taro:20171014200315p:plain

5000件取得
5000件取得
5000件取得
5000件取得
5000件取得
5000件取得
5000件取得
2913件取得
37913件追加しました。

クリックしてターミナルの結果を見る

f:id:neet-utsu-taro:20171014200447p:plain

自由党

f:id:neet-utsu-taro:20171014171911p:plain

5000件取得
5000件取得
5000件取得
5000件取得
5000件取得
3244件取得

クリックしてターミナルの結果を見る

f:id:neet-utsu-taro:20171014172630p:plain

社民党

f:id:neet-utsu-taro:20171014173619p:plain

5000件取得
5000件取得
5000件取得
5000件取得
1649件取得

クリックしてターミナルの結果を見る

f:id:neet-utsu-taro:20171014173815p:plain

共産党

f:id:neet-utsu-taro:20171014174204p:plain

5000件取得
5000件取得
5000件取得
5000件取得
5000件取得
1732件取得

クリックしてターミナルの結果を見る

f:id:neet-utsu-taro:20171014174122p:plain

幸福実現党

f:id:neet-utsu-taro:20171014175100p:plain

5000件取得
1754件取得

クリックしてターミナルの結果を見る

f:id:neet-utsu-taro:20171014175142p:plain

ソースコード

レートリミットへの対処を追加しました。

クリックしてソースコードを見る

まとめ

追加したフォロワーIDは

政党 件数
自民 124,328
公明 73,705
希望 10,607
民進 25,335
維新 13,707
立民 174,896
こころ 37,913
自由 28,244
社民 21,649
共産 36,732
幸福 6,754

です。プログラムで収集した時期の数ですので、今とは誤差があるかもしれません。政党に漏れがあった場合は教えてください。

終わりに

ようやくフォロワーのIDを取得できました!次はこのIDを元にユーザー情報をデータベースに追加したいと思います。

今もそのプログラムを作ってると思います。最近は特に良い記事を書けてなくてすいません。

またね('ω')ノ