ほぼPython

Not技術ブログBut勉強ブログ 内容には誤りがあることが多いです

特定のワードを含むツイートを定期的に検索して自動でふぁぼ(いいね)するプログラムをpythonで書いた

ツイッターをぶらぶらとしていたら、「定期的にツイートを自動でふぁぼするプログラムの解説」を有料で販売している人がいました。

えっ・・・お金出させて買わせるようなものか?

と思ったので、どれくらいで実装できるか試してみました。

約1時間後。。。


2018年1月27日からpythonを学び始めた超初心者の僕でもググりながら1時間程度で完成させることが出来ました。
ただ、僕はこのプログラムを本当に使いたいわけではないので、例外処理をしっかりしておらず、ちょいちょいエラーはでます。
例えば、特定のワードで検索した結果、ツイートが前回の検索結果と変わっていなかった場合、もうすでにふぁぼしてるよ!と怒られます。
本当に使おうと思ったらそのあたりの処理はする必要がありそうです。

まぁ、とりあえず、動くものができたので載せておきます。

from twython import Twython
import time

APP_KEY = "" # https://apps.twitter.com/から取得して自分で入力
APP_SECRET = "" # 同上
OAUTH_TOKEN = "" # 同上
OAUTH_TOKEN_SECRET = "" # 同上

twitter = Twython(APP_KEY, APP_SECRET,OAUTH_TOKEN, OAUTH_TOKEN_SECRET)

while True:

    # 一回の検索で3つのツイートを取得
    tweets = twitter.search(q='名古屋',lang='ja',result_type='recent',include_entities='false',count=3)
    tweets_length = len(tweets["statuses"])

    for i in range(tweets_length):

        # 表示用
        tweet_name = tweets["statuses"][i]["user"]["name"]
        tweet_id = tweets["statuses"][i]["user"]["screen_name"]
        tweet_text = tweets["statuses"][i]["text"]
        tweet_id = tweets["statuses"][i]["id"]
        print("name:{}\nid:{}\ntext:{}\nid:{}\n".format(tweet_name,tweet_id,tweet_text,tweet_id))

        # ふぁぼ
        try:
            twitter.create_favorite(id=tweet_id)
            time.sleep(10) # 10秒あけてふぁぼ
        except:
            print("ふぁぼれなかった・・・")
            time.sleep(10) #様々なエラー時の処理

    time.sleep(3600) # 次にツイート取得するのは1時間後

これをずっと起動しておけば、自動でふぁぼしてくれます。
あまりふぁぼするとBANされそうなので1時間に1回取得するようになっています。

・参考にしたサイト
Developer Interface — Twython 3.6.0 documentation
Standard search API — Twitter Developers
pythonの勉強するのにつかった本
100問でわかるPython