これまで、Pythonからツイートする方法やツイートを検索する方法を紹介してきました。
今回はPythonからツイートをいいねやリツイートする方法を紹介します。
TwitterのAPIを利用するには、開発者として登録する必要があります。まだ登録していない方は、以下記事を参考にDeveloper Portalに登録してください。
https://www.learning-nao.com/?p=1948
使用するライブラリ
今回はtweepyを使用します。インストール方法は以下の通りです。
pipの場合
pip install tweepy
Anacondaの場合はconda-forgeから提供されています。
conda install -c conda-forge tweepy
Pythonで実装
APIにアクセス
まずはDeveloper Portalから取得したKey情報等を利用して、API認証を済ませます。
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)
各自取得したAPI KeyとAccess Token(およびパスワード)を入力してください。
いいね
まずはツイートをいいねする方法です。
処理の流れとしては、対象ツイートの検索→いいねの実行です。
以下にコードを示します。
Account = "learningnao"
tweets = api.user_timeline(id=Account, count=5)
for tweet in tweets:
try:
api.create_favorite(tweet.id) #いいね
except Exception as e:
print(e)
api.user_timeline()で対象ツイートを取得します。今回は@learningnaoの最新ツイート5件を取得しています。
for文内の api.create_favorite()でいいねを実行します。引数には各ツイートのIDを渡します。なお、既にいいねが押されている場合はエラーになってしまうので、try~catchで囲っています。
なお、自動でいいねを押しまくると垢BANされる危険が高まるので、注意してください。片っ端からツイートをいいねするなんてことはやめておきましょう。
リツイート
次はリツイートです。いいねと同じように、対象ツイートを検索してからリツイートという流れです。
Account = "learningnao"
tweets = api.user_timeline(id=Account, count=1)
for tweet in tweets:
try:
api.retweet(tweet.id) #リツイートする
except Exception as e:
print(e)
いいねのときとの違いはtry~catch文の中だけです。リツイートするときは api.retweet()を呼びます。tweet.idでツイートを指定してリツイートします。
コード全文
ここまでのコードをまとめたものが以下です。
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)
Account = "learningnao"
tweets = api.user_timeline(id=Account, count=1)
for tweet in tweets:
try:
api.create_favorite(tweet.id) #いいねする
api.retweet(tweet.id) #リツイートする
except Exception as e:
print(e)
まとめ
PythonからTwitter APIを使っていいねやリツイートをする方法を紹介しました。自動化することはできますが、やりすぎると垢BANくらってしまうので、適度に使うようにしてください。
ではでは👋