【30分タイムアタック】Python × tweepyでいいねとフォローを自動化
今日のTAテーマは 昨日の続きでTwitterのAPIを使って
「指定したワードをつぶやいた人に対して、いいねとフォローをする」
これを自動化します
といっても、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や大量リクエストに対して、制限をしたりしているのでしょう