morris555's diary

高校生のブログです。

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

これぐらいすぐ分かりそうですが・・(泣)