【Python×Twitter】ユーザーの自動フォロー・解除・ブロック・ミュート方法|APIとtweepyでツール開発

こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!

サマリー

Pythonで特定のユーザーを自動で「フォロー・フォロー解除」「ブロック・ブロック解除」「ミュート・ミュート解除」できるようなツール・botを作成したい。本記事ではこの要望にお答えします。

目次

Twitterの自動操作を実現するためのライブラリ・tweepyとは

tweepyはTwitterAPIを用いてTwitterを簡易操作するためのPythonライブラリです。tweepyを用いて機能実装することで、Twitter運用に必要な自動化アプリやbotを開発できるようになります。

tweepyはTwitter APIの利用を前提としています。APIキーやシークレットキーの取得が未済の方はまずこちらの記事からご覧ください。API利用までの手順を解説しています。

tweepyとTwitter API利用によって実現できること

tweepyとAPIによってTwitter運用アプリが開発できるようになり、開発できる機能としては上図が挙げられます。本記事ではこの中でも「Pythonで個人のアカウントを操作し、フォロー/フォロー解除、ブロック/ブロック解除、ミュート/ミュート解除する方法」について徹底解説していきます。

tweepyで情報を取得する際、IDを用いるのが特徴的です。具体的に下記2つを示しており、初めは混合しやすいため区別できるようにしておきましょう。

ID名概要
ツイートID(tweet_id)対象ツイートを一意に特定するためのID
ユーザーID(user_id)対象ユーザーを一意に特定するためのID

そして今回は特に「ユーザーID」を用います。ユーザーIDの取得方法は下記の記事で解説しています。是非合わせてご覧下さい。

【実践】Twitter上のユーザーを自動フォロー・ブロック・ミュートできるツール作成

【事前準備】Pythonライブラリのインストール

利用するPythonライブラリとして「tweepy」「pprint」があります。予めインストールしておきましょう。

tweepy

pip install tweepy

pprint

pip install pprintpp

【事前準備】クライアント関数作成

まずtweepyライブラリとAPIを呼び出す関数を定義します。下記のように記載しましょう。

import tweepy
from pprint import pprint

# API情報を記入
BEARER_TOKEN        = "BEARER TOKENを記述する"
API_KEY             = "API キーを記述する"
API_SECRET          = "API シークレットを記述する"
ACCESS_TOKEN        = "アクセストークンを記述する"
ACCESS_TOKEN_SECRET = "アクセストークンシークレットを記述する"


# クライアント関数を作成
def ClientInfo():
    client = tweepy.Client(bearer_token    = BEARER_TOKEN,
                           consumer_key    = API_KEY,
                           consumer_secret = API_SECRET,
                           access_token    = ACCESS_TOKEN,
                           access_token_secret = ACCESS_TOKEN_SECRET,
                          )
    
    return client

【特定のユーザー】フォローする

対象ユーザーをフォローできるオブジェクトとしてfollow_user()を用います。対象ユーザーを一意に特定するユーザーID(user_id)を指定し、以下のようなコードを記述します。

# ユーザーIDを指定
user_id = "ユーザーIDを入力"

def FollowUser(user_id):
    fol = ClientInfo().follow_user(target_user_id = user_id)
    return fol

pprint(FollowUser(user_id))

【特定のユーザー】フォローを解除する

対象ユーザーをフォロー解除できるオブジェクトとしてunfollow_user()を用います。ユーザーID(user_id)を指定し、以下のようなコードを記述します。

# ユーザーIDを指定
user_id = "ユーザーIDを入力"

def UnFollowUser(user_id):
    unfol = ClientInfo().unfollow_user(target_user_id = user_id)
    return unfol

pprint(UnFollowUser(user_id))

【特定のユーザー】ブロックする

対象ユーザーをブロックできるオブジェクトとしてblock()を用います。対象ユーザーを一意に特定するユーザーID(user_id)を指定し、以下のようなコードを記述します。

# ユーザーIDを指定
user_id = "ユーザーIDを入力"

def BlockUser(user_id):
    blk = ClientInfo().block(target_user_id = user_id)
    return blk

pprint(BlockUser(user_id))

【特定のユーザー】ブロックを解除する

対象ユーザーをブロックを解除できるオブジェクトとしてunblock()を用います。ユーザーID(user_id)を指定し、以下のようなコードを記述します。

# ユーザーIDを指定
user_id = "ユーザーIDを入力"

def UnBlockUser(user_id):
    unblk = ClientInfo().unblock(target_user_id = user_id)
    return unblk

pprint(UnBlockUser(user_id))

【特定のユーザー】ミュートする

対象ユーザーをミュートできるオブジェクトとしてmute()を用います。対象ユーザーを一意に特定するユーザーID(user_id)を指定し、以下のようなコードを記述します。

# ユーザーIDを指定
user_id = "ユーザーIDを入力"

def MuteUser(user_id):
    muter = ClientInfo().mute(target_user_id = user_id)
    return muter

pprint(MuteUser(user_id))

【特定のユーザー】ミュートを解除する

対象ユーザーをミュート解除できるオブジェクトとしてunmute()を用います。ユーザーID(user_id)を指定し、以下のようなコードを記述します。

# ユーザーIDを指定
user_id = "ユーザーIDを入力"

def UnMuteUser(user_id):
    unmuter = ClientInfo().unmute(target_user_id = user_id)
    return unmuter

pprint(UnMuteUser(user_id))

最後に

この記事が気に入ったら
フォローしてね!

本記事をシェア!
目次