今回はPythonとTwikitというライブラリを使ってX(旧Twitter)にポストした自分の投稿をすべて消す方法を紹介します
Twikitとは
TwikitはXをAPI無しで操作することができるPythonのライブラリです
公式GitHub: https://github.com/d60/twikit
コード
まずTwikitをインストールします
pip install twikit
その後以下のコードでポストの削除を実行します
from twikit import Client
USERNAME = "xxxx" # メールアドレスorアカウントID(@〇〇の部分)
PASSWORD = "xxxx" # パスワード
client = Client("ja-JP")
# ログイン
client.login(
auth_info_1=USERNAME,
password=PASSWORD
)
# ログイン中ユーザの情報取得
client_user = client.user()
# ログイン中ユーザのポストを取得
tweets = client_user.get_tweets("Replies")
# 取得したポストを削除
while len(tweets) != 0:
for tweet in tweets:
tweet.delete()
tweets = tweets.next()
# ログアウト
client.logout()
補足
いくつか詰まったところがあったので補足として残します
不審なアクティビティからアカウントを保護するため、認証コードを{メールアドレス}に送信しました。以下にコードを入力してログインしてください。
実行時に「不審なアクティビティからアカウントを保護するため、認証コードを{メールアドレス}に送信しました。以下にコードを入力してログインしてください。」というテキストが出力される場合があります
もし表示されたら自身のメールアドレス宛に認証コードが届いているのでそのコードを入力しエンターを押すことで進められます
エラー:status: 429, message: “Rate limit exceeded
API制限のエラーになります
Xでは15分のうちに削除は50件までとなっているので、それを超える場合にエラーとなります
時間をおいて再度実行する必要があります
レート制限:スタンダードv1.1
コメント