LoginSignup
22
22

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-02-13

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

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
22