ツイートを全て消すスクリプト

  • 5
    Like
  • 3
    Comment
More than 1 year has passed since last update.

ツイートを自動で全て消すスクリプト

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 を取得するようにすれば、全てのツイートを消すことができます。

twitter-archive.png

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])