[Python × Twitter] フォローバックを自動化で実施する方法

Python
スポンサーリンク

こんにちはーー

Pythonで便利なScriptを色々作っています。

今回は、TwitterのフォローバックをPythonで自動化するプログラムを作ったので記事にしました。

この記事が誰かの役に立てば幸いです
※Twitterの規約を確認の上、自己責任で実行する必要があります

Youtubeにも投稿しましたw

スポンサーリンク

プログラム全文

最初にプログラムの全文を載せます。
*アスタリスクには個別のアカウント名やキーを記入する必要があります。

import tweepy
import time

def get_api():
    keys = dict(
        screen_name = '*******',                        #自分のアカウント名
        consumer_key = '********',                      #Twitter APIから取得
        consumer_secret = '***********',                #Twitter APIから取得
        access_token =  '***********',                  #Twitter APIから取得
        access_token_secret = '***********',            #Twitter APIから取得
    )

    SCREEN_NAME = keys['screen_name']
    CONSUMER_KEY = keys['consumer_key']
    CONSUMER_SECRET = keys['consumer_secret']
    ACCESS_TOKEN = keys['access_token']
    ACCESS_TOKEN_SECRET = keys['access_token_secret']

    auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
    auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
    api = tweepy.API(auth)
    return api, SCREEN_NAME

def followback(api, followers, friends): 
    not_followed_user_id = set(followers + friends) ^ set(friends)#フォロワーだけどフォローしてないアカウントを抽出 
    number_of_followed = 0
    for user_id in not_followed_user_id:
        try: 
            api.create_friendship(user_id) #フォロー
            number_of_followed += 1 
            time.sleep(2)                  #スパム誤認定対策
        except Exception as e:
            print(e)
    print('number_of_followed : {}'.format(number_of_followed))


if __name__ == '__main__':
    api, SCREEN_NAME = get_api()
    followers = api.followers_ids(SCREEN_NAME)
    friends = api.friends_ids(SCREEN_NAME)
    followback(api, followers, friends)

プログラム詳細

概要

APIキーを取得して、フォロワーだけどフォローしてないアカウントを抽出してフォローします。

使用するモジュールとAPI取得

Tweepyとtimeを使います。
APIを取得する関数はお決まりのコードを書いています。

フォローバックと処理実行

フォロワーだけどフォローしてないアカウントを^(XOR)を使って抽出しています。
ちょっと分かりにくいかもしれませんが、↓の重なり合う丸のイメージです。

あと、スパムと誤認定されたら嫌なので、time.sleepをつかって、for文の処理間隔を2sに設定しています。

最後に、定義した関数を実行しています。

まとめ

まとめると↓みたいな構成になっています。

コメント

タイトルとURLをコピーしました