Twitter APIとpythonのtweepyモジュールを利用して、Twitter上の各種作業(フォロー、いいね、アンフォロー、フォローバック、ツイート)の自動化をします。
このプログラムで出来る事
このプログラムを利用することで、次の内容を自動化することが出来ます。
- 特定のキーワードが含まれたツイートに対して、いいね と ツイートしたユーザーへのフォロー
- 自身がフォローしているのにフォローバックしてもらえていないユーザーのアンフォロー
- 自身がフォローしていないのにフォローしてくれているユーザーへのフォローバック
- 指定した任意の文字列のツイート
手動で行うと時間が掛かってしまう作業を自動化する事で、作業時間の短縮が見込めます。
さらに作成したプログラムを定期的に実行することで、自動的にフォロワーを一定数まで増加させることが見込めます。
(自動化のアカウントはここで公開しませんが、私が同じプログラムで1年間定期的に自動処理をしたところ、約5000名のフォロワーとなっておりました。)
pythonのソースコード
共通処理(ファイル名をcreateAuthInfo.pyとして保存)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import tweepy # 各種キーをセット CONSUMER_KEY = '<Consumer Key (API Key)>' CONSUMER_SECRET = '<Consumer Secret (API Secret)>' ACCESS_TOKEN = '<Access Token>' ACCESS_SECRET = '<Access Token Secret>' def execute(): #APIインスタンスを作成 auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET) api = tweepy.API(auth) return api |
自動いいね、自動フォロー
<検索キーワード>と<件数>を編集して利用します。
(2021/8/24 追記)Twitterの自動開発ルールにご注意ください。自動的にツイートをいいねすることは禁止されています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import tweepy import createAuthInfo # APIインスタンスの生成 api = createAuthInfo.execute() # 検索キーワードと件数 q = "<検索キーワード>" count = <件数> print( '検索キーワード「' + q + '」について' + str(count) + '件分のいいね・フォローをします。') # 検索実行 search_results = api.search(q=q, count=count) for result in search_results: user_key = result.id # 検索キー username = result.user.name user_id = result.user._json['screen_name'] # @***の内容 time = result.created_at #ツイートの日時を取得 print(str(username) + '@' + str(user_id) + 'さんの' + str(time) + 'のツイート(user_key=' + str(user_key) + ')') try: api.create_favorite(user_key) #いいね api.create_friendship(user_id) #フォロー except Exception as e: # すでに「いいね」、フォロー済みだとこれが出力。 print(' 【失敗】' + str(e)) |
自動アンフォロー
<twitterアカウント名>を編集して利用します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import tweepy import createAuthInfo # APIインスタンスの生成 api = createAuthInfo.execute() # twitterアカウント名(@マークは不要) twitter_id = '<twitterアカウント名>' # フォロワーの取得 followers = api.followers_ids(twitter_id) # フォローユーザーの取得 friends = api.friends_ids(twitter_id) # フォローユーザー分だけループ for f in friends: # フォローユーザーがフォロワー一覧に含まれていないなら if f not in followers: api.destroy_friendship(f) print("ID:{}、ユーザー名:{}のフォローを解除しました。".format(api.get_user(f).screen_name, api.get_user(f).name)) |
自動フォローバック
<相手のアカウントの説明文内のフォローバックしたくないキーワード>を編集して利用します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import tweepy import createAuthInfo # APIインスタンスの生成 api = createAuthInfo.execute() # フォロワーを新しい順で取得。(件数は5件としています。) flist= api.followers(count=5) for f in flist: # 相手のアカウントの説明文にフォローバックしたくない[キーワード]があればここで登録。 #(例:ネットビジネス、出会い系など) if "<相手のアカウントの説明文内のフォローバックしたくないキーワード>" in f.description: continue else: api.create_friendship(f.id) |
自動ツイート
<ツイート内容>を編集して利用します。
1 2 3 4 5 6 7 8 9 10 |
import tweepy import createAuthInfo # APIインスタンスの生成 api = createAuthInfo.execute() text = '<ツイート内容>' tweet = api.update_status(text) print('「{}」をツイートしました。'.format(tweet.text)) |
事前準備
ソースコードの動作にはpythonのインストールに加え、tweepyモジュールの導入とTwitter Developer登録で取得するキー情報が必要です。
tweepyモジュールの導入
次のコマンドを実行します。
1 |
pip install tweepy |
Twitter Developerのキー情報の取得方法
Twitter Developer登録の用途
Twitterのデータにプログラムでアクセスするための認証キーの取得です。
一度認証キーを取得すれば、無料で利用することができます。(※)
登録にクレジットカード情報などの登録は必要ありません。
(※)レート制限があります。例えばAPIレート制限のページでは「検索は15分枠あたり180クエリに制限されていますが、いずれ変更するかもしれません。」とあります。(2020/5/10時点の情報)
Twitter Developer登録で取得するキー情報
以下の4つを取得します。
取得した値を上述のプログラムの該当箇所に記載します。
- Consumer Key (API Key)
- Consumer Secret (API Secret)
- Access Token
- Access Token Secret
Twitter Developer登録手順
プログラミングよりもこちらのが大変かもしれません。
ポイントは以下です。
- 登録用のサイトは英語で記載されている。
- いくつかの質問に英語で回答する必要がある。(最低文字数の制限があるものも有り。)
- 登録後、承認のメールを貰って初めてキー情報の取得ができる。
英語に素養のない私は、Google翻訳を利用して何とか理解し、回答をしました。
以下に登録手順をまとめたので、良かったら参照してみてください。
動画、ブログ記事それぞれで纏めています。

参考)Twitterに関するその他の記事

参考)プログラムの定期実行に関する記事

参考)その他自動化に関する記事


コメント