こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
「Pythonでツイートに自動でファボ(いいね)やリツイートするにはどうやればいいの?」本記事ではこのような疑問・要望にお答えします。
Twitterの自動操作を実現するためのライブラリ・tweepyとは
tweepyはTwitterAPIを用いてTwitterを簡易操作するためのPythonライブラリです。tweepyを使いこなすことで、オーダーメイドのTwitter自動運用アプリが作成できるようになります。
tweepyはTwitter APIの利用を前提としています。APIキーやシークレットキーの取得が未済の方はまずこちらの記事からご覧ください。API利用までの手順を解説しています。
【Twitter】APIキー利用申請から発行までの手順解説|ツイッター運用自動化アプリ作成に向けた環境構築
「Twitter運用自動化アプリ(Bot)を作って業務効率化したいけど、最初に何をすればいいの?」「Twitter APIってどうやって申請して使えるようになるの?」本記事ではこのような疑問にお答えします。また、後半ではTwitter APIを活用した運用自動化アプリの開発方法についても触れます。
tweepyとTwitter API利用によって実現できること
tweepyとAPIを用いると上図のようなことが全てできるようになります。本記事では機能を厳選し「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運用ツールとは?」「簡単に自作開発もできる?」本記事ではこのような要望・疑問にお答えします。
【実践】Pythonでファボやリツイートを自動で行うbotを作成する
【事前準備】Pythonライブラリのインストール
今回利用するPythonライブラリは「tweepy」と出力結果の整形用として「pprint」を用います。事前にインストールしておきましょう。
tweepy
pip install tweepy
pprint
pip install pprintpp
【事前準備】クライアント関数作成
まずtweepyライブラリとAPIを呼び出すためのプログラムを下記のように記述しましょう。今回API情報が踏襲された関数として、ClientInfo()関数を用意しています。
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
【特定のツイート】ファボ(いいね)する
Pythonから対象ツイートに対してファボできるtweepyのメソッドとしてlike()を利用します。対象ツイートを一意に特定するツイートID(tweet_id)を指定し、下記のように記載しましょう。
# ツイートIDを指定
tweet_id = 'ツイートID入力'
# 関数情報
def LikeTweet(tweet_id):
favo = ClientInfo().like(tweet_id)
return favo
pprint(LikeTweet(tweet_id))
【特定のツイート】ファボ(いいね)を取り消す
Pythonから対象ツイートに対してファボを取り消すtweepyのメソッドとしてunlike()を利用します。ツイートID(tweet_id)を指定し、下記のように記載しましょう。
# ツイートIDを指定
tweet_id = 'ツイートID入力'
# 関数情報
def UnLikeTweet(tweet_id):
favonot = ClientInfo().unlike(tweet_id)
return favonot
pprint(UnLikeTweet(tweet_id))
【特定のツイート】リツイートする
Pythonから対象ツイートに対してリツイートできるtweepyのメソッドとしてretweet()を利用します。対象ツイートを一意に特定するツイートID(tweet_id)を指定し、下記のように記載しましょう。
# ツイートIDを指定
tweet_id = 'ツイートID入力'
# 関数情報
def ReTweet(tweet_id):
re = ClientInfo().retweet(tweet_id)
return re
pprint(ReTweet(tweet_id))
【特定のツイート】リツイートを取り消す
Pythonから対象ツイートに対してリツイートを取り消しするtweepyのメソッドとしてunretweet()を利用します。ツイートID(tweet_id)を指定し、下記のように記載しましょう。
# ツイートIDを指定
tweet_id = 'ツイートID入力'
# 関数情報
def UnReTweet(tweet_id):
not_re = ClientInfo().unretweet(tweet_id)
return not_re
pprint(UnReTweet(tweet_id))
最後に
お問い合わせフォーム
上記課題に向けてご気軽にご相談下さい。
お問い合わせはこちら