pythonでふぁぼツール(改)
はじめに
前回のふぁぼツールを改良(改造?)して、リアルタイムでふぁぼれるようにしました。
tweepyのStreamを使って、自動でふぁぼっていくようにしてみました。
本題
https://gist.github.com/1560029
#!/usr/bin/env python # -*- coding:utf-8 -*- import tweepy import sys def get_oauth(): consumer_key = '' consumer_secret = '' access_key = '' access_secret = '' auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_key, access_secret) return auth class StreamListener(tweepy.StreamListener): def on_status(self, status): tweet = status id = tweet.id if tweet.favorited == True: pass fav = tweepy.API(auth_handler=get_oauth()).create_favorite(id) print("({text})をふぁぼりました。".format(text=tweet.text)) def get_user_id(screen_name, api): user_id = api.get_user(screen_name).id return user_id def main(): auth = get_oauth() api = tweepy.API(auth_handler=auth) screen_name = sys.argv[1] stream = tweepy.Stream(auth, StreamListener()) try: stream.filter(follow=[get_user_id(screen_name, api)]) except KeyboardInterrupt: sys.exit() if __name__ == "__main__": main()
微妙ですね。
python realtime_fav.py morris_555
こんな感じに、ターゲットを指定すればあとは自動でふぁぼります。 ………たぶん(泣)
名前をIDに変換するところがもっとスマートな方法がありそうですが・・・
見つからなかったので、知っている方がいたらぜひ教えてください。
おわりに
こんな遊びツールを作りながら、ちょっとtweepyが使えるようになったきたので、
そろそろ本格的なやつを作りたいと思ってます。。
追記
IDを調べるのに、もう少しスマートな方法が見つかったので追記。。。
user_id = api.user_timeline(screen_name)[0].author.id
これが、
user_id = api.get_user(screen_name).id
これぐらいすぐ分かりそうですが・・(泣)