ツイートを自動で全て消すスクリプト
Twitter のツイートを全て削除するスクリプトです。例えば「黒歴史は消したいけど、友人と DM できるようにアカウントは残しておきたい」ときに使えます。
前提
次の二つはあると仮定します。
- Python がインストールされたコンピュータ
- Twitter の API トークン
Twitter の API トークンの取得についてはオフィシャルの記事を参照してください。
必要なライブラリのインストール
python-twitter
の最新版だけインストールされていれば動きます。pip
を使ってインストールしましょう。
pip install python-twitter
私は 3.0rc1 で動かしました。
ツイート削除スクリプト
次の内容で Python スクリプトを作成します。大文字で書かれている文字列は、それぞれの環境に応じて書き換える必要があります。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import twitter
api = twitter.Api(
consumer_key='YOUR_CONSUMER_KEY',
consumer_secret='YOUR_CONSUMER_SECRET',
access_token_key='YOUR_ACCESS_TOKEN_KEY',
access_token_secret='YOUR_ACCESS_TOKEN_SECRET'
)
screen_name = 'YOUR_TWITTER_ID'
while True:
statuses = api.GetUserTimeline(screen_name=screen_name)
for s in statuses:
print(s.text, s.created_at)
api.DestroyStatus(s.id)
後はスクリプトを保存して実行するだけです。
追記
@mpyw さんからのコメントで知ったのですが、この方法だと最新から 3200 件目までのツイートしか削除できないようです。
次の URL から Twitter のアーカイブデータを取得し、そこに含まれる tweets.csv
から tweet ID を取得するようにすれば、全てのツイートを消すことができます。
tweets.csv
が保存されているディレクトリで、次のスクリプトを実行すると全てのツイートを削除できます。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import twitter
import csv
api = twitter.Api(
consumer_key='YOUR_CONSUMER_KEY',
consumer_secret='YOUR_CONSUMER_SECRET',
access_token_key='YOUR_ACCESS_TOKEN_KEY',
access_token_secret='YOUR_ACCESS_TOKEN_SECRET'
)
csvReader = csv.reader(open('tweets.csv', 'r'))
next(csvReader)
for row in csvReader:
print(row[3], row[5]) # Time stamp and actual tweet
api.DestroyStatus(row[0])