006
こんにちは。水曜に仕上げると言ったな。あれは嘘だ。
というわけで先日申し上げていた通りコードを書いたので公開しようと思います。
とりあえずBreakTwiって名前にしてたんだけど恥ずかしくなってきた。
#coding:UTF-8 import twitter import time # Consumer Key CK = '#########################' # Consumer Secret CS = '##################################################' # Access Token AT = '##########-#######################################' # Accesss Token Secert AS = '#############################################' api=twitter.Api(consumer_key=CK,consumer_secret=CS, access_token_key=AT,access_token_secret=AS) #起動時 print u'システム起動します。' before = 0 after = 0 #''の中にスクリーンネーム scname = '@hoge' user = api.GetUser(screen_name=scname) id = user.id while 1: user = api.GetUser(screen_name=scname) tweets = api.GetStatus(id) before = user.statuses_count time.sleep(60) user = api.GetUser(screen_name=scname) after = user.statuses_count diff = after-before print u'ツイートした数:%d' % (diff) if (diff) >= 5: i = 0 #ここで削除 tweets = api.GetUserTimeline(id ) while 5 <= (diff-i): api.DestroyStatus(tweets[i].id ) i = i + 1 print u'削除したゾ。' else: print u'異常なし。'
何をしているか簡単に説明すると、
- 指定したアカウントのツイート数を調べて
- 一分後にもう一度調べて差分を計算して
- 一定数(今回は5ツイート)以上のツイートが見られた場合は殺す
- 慈悲は無い
あと一つ言及するとすれば現状で強制終了以外に終わらせる方法が無いことですかね。
(threadingかsys辺りを使えばいけるのではないかと踏んでいる)