【Python】Twitterを操作する⑤ -フォロー、アンフォロー

今回はTwitter APIを使ってPythonからアカウントをフォロー or フォロー解除する方法を紹介します。

PythonからAPIをするには、Twitter Developersに登録している必要があります。まだ登録されていない方は、以下記事を参考に登録&プロジェクトの作成を済ませてください。

tweepyのインストール

PythonではTwitter操作を行うパッケージとしてtweepyが提供されています。

pipの場合

pip install tweepy

Anacondaの場合はconda-forgeから提供されています。

conda install -c conda-forge tweepy

Pythonで実装

認証

まずは Twitter Developersからキーを取得し、認証を行います。

import tweepy

API_Key     = "Your API key"
API_Sec     = "Your API Key Secret"
Token       = "Your Access Token"
Token_Sec   = "Your Access Token Secret"

# Twitterオブジェクトの生成
auth = tweepy.OAuthHandler(API_Key, API_Sec)
auth.set_access_token(Token, Token_Sec)
api = tweepy.API(auth)

フォロー

アカウントのフォローには、 tweepy.API()のcreate_friendship()を使用します。

API.create_friendship(id/screen_name/user_id)

引数にはフォローしたいアカウントIDやスクリーンネーム(@以下)を指定します。

#スクリーンネームを指定
Account = "xxxxxxxx"
tweets = api.user_timeline(screen_name=Account, count=1)

for tweet in tweets:
    api.create_friendship(screen_name=tweet.user.screen_name)

サンプルでは指定したアカウントのタイムラインを取得し、ツイートの情報からスクリーンネームを再取得してフォローしています。

api.create_friendship()に直接スクリーンネームやIDを渡すだけでもフォローすることはできます。

フォロー解除

フォロー解除にはdestroy_friendship()を使用します(嫌な名前笑)。

API.destroy_friendship(id/screen_name/user_id)

create_friendship() と同様に、フォロー解除したいアカウントのIDやスクリーンネームを指定します。

#スクリーンネームを指定
Account = "xxxxxxxx"
tweets = api.user_timeline(screen_name=Account, count=1)

for tweet in tweets:
    api.destroy_friendship(screen_name=tweet.user.screen_name)

こちらも、 api.destroy_friendship()に直接IDやスクリーンネームを渡してもOKです。

まとめ

PythonからTwitter APIを使ってアカウントをフォロー/フォロー解除する方法を紹介しました。

メソッドを呼ぶだけで簡単にフォローしたりすることができます。応用することで、フォロバ100%のbotを作ったりできるので興味があれば試してみてください^^

ではでは👋