この記事では、pythonでtwitterを使っていく方法について解説していきたいと思います
pythonでtwitterを操作してみたい
pythonでtwitterのbotを作成したい
pythonでtwitterを自動化したい
といった方に向けて、書いていきます!
pythonでtwitterを使えるようになると、twitterでの認知度を高めることができ、フォロワー数の増加が見込めます
pythonを使えないけど、フォロワー数を増やしたい、という方は、ココナラでサービスを出品中なので、そちらから依頼をお願いします!

pythonでtwitterを扱えるようになると、twitterで行われている懸賞に自動で応募することができるようになります

pythonでtwitterを使う方法

pythonでtwitterを使う方法はいくつかあります
- python-twitter
- TwitterAPI
- tweepy
- twython
などなど
詳細はtwitter libraryのpythonのページに記載されています
この記事では「tweepy」を使って、pythonでtwitterを使っていきたいと思います
tweepyのインストール
pythonでtwitterを使うためには、「tweepy」をインストールする必要があります
Macならターミナルで、windowsならコマンドプロンプトで以下のコマンドを打ちます
pip install tweepy
これでpythonでtwitterを使うための第一段階が終了です
pythonでtwitterを使うためにtwitter APIの承認を受ける
tweepyのインストールが終了したら、pythonでtwitterを使うためにtwitter APIの承認を受けましょう
- Developerに登録
- twitter APIの使用用途を説明
- twitter APIの申請→承認
ざっくり上記の流れになります
twitter APIの申請は年々厳しくなっていますが、2022年に承認を受けた方法はこちら

twitter APIの承認を受けたらcreate appを作る
twitter APIの承認を受けたらcreate appを作ります



画像の順番でも、API申請記事の方法でもOKです
twitter側でサードパーティアプリの許可をする
create appが終了したら、twitterアカウント側でサードパーティアプリの許可をします

よく見かける上記の画像のやつです
これを許可することで、pythonからTwitterに投稿することなどが出来ます
これでpythonでtwitterを使うための準備はOKです
実際にコードを書いていきましょう
pythonでtwitterを使うためのコード

今回はpythonでtwitterを操作して、「いいね」「リツイート」「自動ツイート」の方法について解説していきたいと思います
pythonでtwitterのいいねする方法
pythonでtwitterにいいねするには、以下のコードを使用します
api.create_favorite(id)
「id」にはいいねしたいユーザーIDを入力すればOKです
実際のコードはこちら
#全ての****には自分自身のキーやキーワードを入力する
CONSUMER_KEY = '****'
CONSUMER_SECRET = '****'
ACCESS_TOKEN = '****'
ACCESS_SECRET = '****'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)
# 指定した条件(検索ワード、検索件数)に一致するユーザ情報を取得
search_results = api.search_tweets(q="****", result_type="mixed",count=25)
for result in search_results:
tweet_id = result.id #Tweetのidを取得
user_name = result.user._json['screen_name'] #ユーザーのidを取得
user_id= result.user._json['id']
try:
api.create_favorite(tweet_id) #ファボする
except Exception as e:
print(e)
「result type」は3種類用意されており、
- “recent”:時系列で最新ツイートを検索
- “popular”:人気のあるツイートを検索
- “mixed”:上記を混ぜたもの
となっています
デフォルトでは、”recent”になっているので、変更する場合には、「result_type=””」で指定する必要があります
pythonでtwitterのリツイートをする方法
#全ての****には自分自身のキーやキーワードを入力する
CONSUMER_KEY = '****'
CONSUMER_SECRET = '****'
ACCESS_TOKEN = '****'
ACCESS_SECRET = '****'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)
# 指定した条件(検索ワード、検索件数)に一致するユーザ情報を取得
search_results = api.search_tweets(q="****", result_type="mixed",count=25)
for result in search_results:
tweet_id = result.id #Tweetのidを取得
user_name = result.user._json['screen_name'] #ユーザーのidを取得
user_id= result.user._json['id']
print(user_name,user_id)
try:
api.retweet(tweet_id)
except Exception as e:
print(e)
tweepyを使用して、リツイートを応用する方法は以下の記事で詳しく解説しているので、そちらも参考にしてください

pythonでtwitterの自動ツイートをする方法
pythonでtwitterに投稿するには、api.update_statusを使用します
実際のコードはこちら
#全ての****には自分自身のキーやキーワードを入力する
CONSUMER_KEY = '****'
CONSUMER_SECRET = '****'
ACCESS_TOKEN = '****'
ACCESS_SECRET = '****'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)
# 好きな言葉をツイート
api.update_status("Pythonから投稿!")
これだけでは自動ツイートができないので、自動ツイートさせるために設定を行う必要があります
設定はHerokuを使用していきます
pythonを使ってtwitterの自動化-twitter運用効果あり-
上記note無料部分で、Herokuの設定ができますので、参考にしてください
ツイート内容をランダムに投稿する場合は、ツイート内容をリストに入れておき、random.choiceを使用します
import random
import tweepy
#****には自身のコードを入力してください
CONSUMER_KEY = '****'
CONSUMER_SECRET = '****'
ACCESS_TOKEN = '****'
ACCESS_SECRET = '****'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)
#****にツイートしたい内容を入力していきます.「,」で区切ることで、複数登録できます
tweetlist=["****"]
#リストに含まれるツイート内容をランダムでツイート
api.update_status(random.choice(tweetlist))
詳しくは以下のリンクから飛べます

リアルタイムに応答するtwitterbot
特定のキーワードがツイートされたら、それに対してリアルタイムに応答するtwitter botは以下のように書いていきます
import tweepy
#****には自身のコードを入力してください
CONSUMER_KEY = '****'
CONSUMER_SECRET = '****'
ACCESS_TOKEN = '****'
ACCESS_SECRET = '****'
#****にキーワードを入力
word="****"
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)
class MyStreamListener(tweepy.Stream):
def on_status(self, status):
if 'RT @' not in status.text[0:2]:
if 'http' not in status.text:
api.retweet(id=status.id)
#それぞれのキーを入力
myStreamListener = tweepy.Stream('CONSUMER_KEY here',
'CONSUMER_SECRET here',
'ACCESS_TOKEN here',
'ACCESS_SECRET here')
#myStream = tweepy.Stream(auth = api.auth, listener=myStreamListener)
myStreamListener.filter(track=[word], threaded=False)
自動フォロー
# ライブラリの読み込み
import tweepy
#****には自身のコードを入力してください
CONSUMER_KEY = '****'
CONSUMER_SECRET = '****'
ACCESS_TOKEN = '****'
ACCESS_SECRET = '****'
#twitter認証
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)
# フォロワーを新しい順で取得。(件数は5件としています。)
flist= api.followers(count=5)
for f in flist:
# 相手のアカウントの説明文にフォローバックしたくない[キーワード]があればここで登録。
#(例:副業など)
if "<相手のアカウントの説明文内のフォローバックしたくないキーワード>" in f.description:
continue
else:
api.create_friendship(f.id)
上記のHerokuと併せて使えば、自動でフォローをすることができます
自動フォローに関する詳細は以下の記事で解説しています

ダイレクトメッセージを送る
# ライブラリの読み込み
import tweepy
#****には自身のコードを入力してください
CONSUMER_KEY = '****'
CONSUMER_SECRET = '****'
ACCESS_TOKEN = '****'
ACCESS_SECRET = '****'
#twitter認証
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)
# アカウント指定(Twitterアカウントの@以降の英数字)
Account = '****'
# アカウントの内部IDを取得する
inner_id = api.user_timeline(Account, count=1, page=0)[0].user.id
api.send_direct_message(recipient_id=inner_id,text='Hello world!')
アカウントを指定することで、指定したアカウントにダイレクトメッセージを送ることができます
for文や自動フォローなどと組み合わせれば、フォローしてくれた相手に対して、DMを送ることもできます
DMに関する詳細記事は以下のリンクです

api.send_direct_message()でダイレクトメッセージは可能です
しかし引数のrecipient_idが内部IDを指しているので、数値型を指定する必要があります
異なる型を指定すると、「‘code’: 214, ‘message’: “event.message_create.target.recipient_id: ‘hogehoge’ is not a valid Long”」
のようなエラーが出ますので、気をつけてください
これらを組み合わせれば、pythonを使ってtwitterで稼ぐことができます
実際にpythonを使ってtwitterで稼いだ方法は以下の記事で解説しています

この記事で紹介している内容で、pythonでtwitter操作は概ね行うことができます
あとは、組み合わせてみたり、for文やif文などをうまく使うことで、オリジナルのtwitterツールが作成することができます
pythonの基礎文法があまり理解できていない場合には、以下のサイトなどを利用するのも一つの手です
おすすめプログラミングスクール(無料体験あり)
