皆さんこんにちは!底辺プログラマーのヤスです!
今回はTwitterのリツイートの自動化についての記事となります。
筆者は定期的にツイートすることが苦手なので
そういうことはPythonにやってもらおうと思いました。
せっかくPythonの勉強をしているので活かしていきましょう!
前回同様にtweepyライブラリを使用していきます。
Contents
まずはTwitterAPI登録
コチラのサイトから登録を行って下さい。
登録方法については調べればすぐに見つけることができますのでここでは記載しません。
多少は面倒な手順が必要なのであきらめずに最後まで頑張って登録を行って下さい。
『Twitter API 登録方法』とかで調べれば出てきますので。
リツイートしたいツイートのステータスIDを取得
Google Chromeとかで自分のTwitterアカウントにログインを行い、
リツイートしたいツイート画面を開くとアドレスの末尾に20桁くらいの数字が表示されています。
これがリツイート自動化の際に必要となるのでメモしておきましょう。
例えばこんなやつです。
↓
unretweetで良かったのか…
簡単だった…
しかしretweet、unretweet後はid変わっちゃうのかー
— Yasu_底辺プログラマー (@biz_yasu) September 1, 2019
末尾の『1168030164002820099』がステータスIDです。
ステータスIDはひとまず外部ファイルに書いておいて、
使用する際にそのファイルを読み込むようにします。
ステータスIDを外部ファイルに記載
筆者はとりあえずテキストファイルに保存します。
別にiniファイルとかcsvファイルとかでもxmlファイルでもなんでもいいと思います。
retweet_id_list.txt
1 2 |
1168030164002820099 1166481976192192512 |
実際のコードがコチラ
CONSUMER_KEY、CONSUMER_SECRET_KEY、ACCESS_TOKEN、ACCESS_TOKEN_SECRETはTwitterAPI登録完了後に取得できるのでその値を設定してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
import tweepy import random import time CONSUMER_KEY = 'XXXXXXXXXXXXXXXXXXXXXXXXX' CONSUMER_SECRET_KEY = 'XXXXXXXXXXXXXXXXXXXXXXXXX' ACCESS_TOKEN = 'XXXXXXXXXXXXXXXXXXXXXXXXX' ACCESS_TOKEN_SECRET = 'XXXXXXXXXXXXXXXXXXXXXXXXX' auth = None if __name__ == "__main__": auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET_KEY) auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET) api = tweepy.API(auth) with open('retweet_id_list.txt', 'r', encoding='utf8') as f: for line in f.readlines(): s = line.strip() status = api.get_status(s) r = random.uniform(20, 30) time.sleep(r) if status.retweeted == True: # リツイートが行われていたら解除する api.unretweet(s) # リツイートする api.retweet(s) print('RETWEET ID:%s' % s) |
これでひとまず完成です。
リツイート自動化についての注意事項
TwitterAPIには規約がありますのできちんと確認を行ってから使用してください。
うっかりリツイート100件とか実行してしまったら
恐らくアカウントが凍結されてしまいますので
くれぐれも注意してください。
アカウント凍結されても筆者は責任はとれませんので。。。
まとめ
TwitterAPIは時間が経つにつれ変更が行われていますので、
このブログに記載したコードが動かないことも考えられます。
実際今回の記事を書く際に、過去の記事を参考にしたら一向に動かなくてかなり悩みました。
Twitterに限らず、APIは仕様がコロコロ変わりますので公式のドキュメントがあれば
そちらを見たほうがイイかもしれません。
今回の記事は以上となります。
最後まで読んで頂きありがとうございます。