HACK SCORE

# 現役エンジニアの出力コンソール

【30分タイムアタック】Python × tweepyでいいねとフォローを自動化

今日のTAテーマは 昨日の続きでTwitterAPIを使って

「指定したワードをつぶやいた人に対して、いいねとフォローをする」

これを自動化します

といっても、crontabとかで

定期実行するわけでもないので

厳密には自動化ではないですが

コマンド入力するだけで済むので

何十件〜何百件とページを

見て回る必要はなくなりますね

ゴール

所要時間:30分

$ python AutoLikeAndFollow.py "検索したいワード"

これで検索ワードにひっかかるツイートのいいねとツイート主をフォローする

要件

  • 指定したワードをツイートしているユーザー情報を取得
  • そのツイートをいいね
  • そのユーザーをフォロー
  • 引数で検索ワードを随時指定できるようにする

手順

  • 指定ワードで検索してユーザー情報を取得する

  • 指定したツイートをいいねする

  • 指定したユーザーをフォローする

※アクセストークンは''の中に入れる

import tweepy
import sys

CONSUMER_KEY = ''
CONSUMER_SECRET = ''
ACCESS_TOKEN = ''
ACCESS_SECRET = ''

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)

# 指定した条件(検索ワード、検索件数)に一致するユーザ情報を取得
search_word = sys.argv[1]
search_results = api.search(q=search_word, count=30)

# 取得したユーザーを1件ずついいね、フォローしていく
for result in search_results:
    status_id = result.id
    status_text = result.text
    user_name = result.user.name
    user_id = result.user.id
    try: # いいね
        api.create_favorite(status_id)
        print('Liked Status : ' + status_text)
    except Exception as e:
        print(e)
    try: # フォロー
        api.create_friendship(user_id)
        print('Followed : ' + user_name + '(@' + user_id + ')')
    except Exception as e:
        print(e)

フォローのところは今コメントアウトしてます。 なぜならテストする感じで

$ python AutoLikeAndFollow.py "test"

ってやったりすると、

全く関係ないような人をフォローしてしまったりするので。

フォローは、自動フォロバする感じにしようかな

追記

Invalid or expired token.

こんなエラーが出るようになったら、

トークンの再発行やアプリの再作成をして

4つの認証情報を新たに取得して実行すればいけます。

※おそらくBotや大量リクエストに対して、制限をしたりしているのでしょう

ご利用規約

当ブログの記事に関して、各サイトやAPI等のご利用規約に触れる恐れがありますので、ご利用は、全て自己責任でお願いします。

また、記事の内容を利用・参考にした上での活動について、いかなる理由があろうとも当ブログは一切責任を負いませんので、予めご了承ください。