こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
Pythonで特定のユーザーを自動で「フォロー・フォロー解除」「ブロック・ブロック解除」「ミュート・ミュート解除」できるようなツール・botを作成したい。本記事ではこの要望にお答えします。
Twitterの自動操作を実現するためのライブラリ・tweepyとは
tweepyはTwitterAPIを用いてTwitterを簡易操作するためのPythonライブラリです。tweepyを用いて機能実装することで、Twitter運用に必要な自動化アプリやbotを開発できるようになります。
tweepyはTwitter APIの利用を前提としています。APIキーやシークレットキーの取得が未済の方はまずこちらの記事からご覧ください。API利用までの手順を解説しています。
【Twitter】APIキー利用申請から発行までの手順解説|ツイッター運用自動化アプリ作成に向けた環境構築
「Twitter運用自動化アプリ(Bot)を作って業務効率化したいけど、最初に何をすればいいの?」「Twitter APIってどうやって申請して使えるようになるの?」本記事ではこのような疑問にお答えします。また、後半ではTwitter APIを活用した運用自動化アプリの開発方法についても触れます。
tweepyとTwitter API利用によって実現できること
tweepyとAPIによってTwitter運用アプリが開発できるようになり、開発できる機能としては上図が挙げられます。本記事ではこの中でも「Pythonで個人のアカウントを操作し、フォロー/フォロー解除、ブロック/ブロック解除、ミュート/ミュート解除する方法」について徹底解説していきます。
tweepyで情報を取得する際、IDを用いるのが特徴的です。具体的に下記2つを示しており、初めは混合しやすいため区別できるようにしておきましょう。
ID名 | 概要 |
---|---|
ツイートID(tweet_id) | 対象ツイートを一意に特定するためのID |
ユーザーID(user_id) | 対象ユーザーを一意に特定するためのID |
そして今回は特に「ユーザーID」を用います。ユーザーIDの取得方法は下記の記事で解説しています。是非合わせてご覧下さい。
【Python×Twitter】検索ツイートのデータ取得・分析|APIとtweepy活用による自動運用アプリ開発支援
「PythonでTwitterのデータ収集をどうやって実行するの?」「自動で検索結果にマッチするツイートを取得して分析できるようになりたい」本記事ではこのような疑問・要望にお答えします。
Twitter運用の「ツール開発はやはり難易度が高い」
このように感じる方向けに「おすすめX運用ツール」も紹介しております。ぜひご覧ください。
【RPA】面倒なX運用を自動化!おすすめツール4選|Xマーケティング業務効率化支援
「面倒なX運用を自動化したい」「自動化できるおすすめX運用ツールとは?」「簡単に自作開発もできる?」本記事ではこのような要望・疑問にお答えします。
【実践】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))
最後に
お問い合わせフォーム
上記課題に向けてご気軽にご相談下さい。
お問い合わせはこちら