フォロワーから友利奈緒を探す
プログラミング生放送勉強会 第35回@株式会社 DMM.com ラボ で、LT(ライトニングトーク)を私もしました。その内容です。
プログラミング生放送が、プログラミング(生放送)しないのは、東レ(旧 東洋レーヨン)がレーヨンを生産していないのと同じ! と勉強会のはじめに説明しましたが、ひさしぶりに、プログラミング生放送(Live Coding)を行いました。
フォロワーから友利奈緒を探す
TV アニメ「Charlotte」の「友利奈緒」を Twitter フォロワーから探します。@MysticDoll さんとのネタかぶりで、自分も笑ってしまった。
ソースコード
会場で書いたコードです(少しコメント追記等しています)。.NET の Twitter ライブラリー「CoreTweet」を使って、自分のフォロワーの ID を取得し、順にユーザー情報を取得し、名前から友利奈緒を探します。最後に、結果をツイートします。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Module Module1 | |
Sub Main() | |
#Region "keys" | |
Dim consumerKey = "***" | |
Dim consumerSecret = "***" | |
Dim accessToken = "***" | |
Dim accessSecret = "***" | |
#End Region | |
Dim tokens = CoreTweet.Tokens.Create(consumerKey, consumerSecret, accessToken, accessSecret) | |
' API GET followers/ids (5000人までフォロワーの ID を取得) | |
Dim idsResult = tokens.Followers.Ids(New Dictionary(Of String, Object) From { | |
{"screen_name", "jz5"}}) | |
Dim count = 0 | |
For i = 0 To Math.Floor(idsResult.Count / 100) | |
Dim ids = idsResult.Skip(i * 100).Take(100) | |
' API GET users/lookup (100人ごとにユーザー情報を取得) | |
Dim lookupResult = tokens.Users.Lookup(New Dictionary(Of String, Object) From { | |
{"user_id", ids}}) | |
For Each u In lookupResult | |
If u.Name.Contains("友利奈緒") Then ' 友利奈緒を探す | |
count += 1 | |
Console.WriteLine("{0} {1}", u.ScreenName, u.Name) | |
End If | |
Next | |
Next | |
tokens.Statuses.Update(String.Format("フォロワーに友利奈緒を{0}人見つけました #pronama", count)) | |
End Sub | |
End Module |
実行中の様子。
https://twitter.com/turtle2281/status/637549652535959552
結果
フォロワーに友利奈緒を21人見つけました #pronama
— JZ5 (@jz5) August 29, 2015
カオスww #pronama pic.twitter.com/M2ZiccgIrZ
— マッシュルーム (@mushroom080) August 29, 2015
ありがとうございました。
追記: Web サービス化しました。