黒歴史クリーナー の全ツイート削除機能の調子が悪い(全ツイートダウンロードファイルのアップロードが失敗する)ので、python
で全ツイートを消す方法をメモする。python
でダイレクトメッセージ出来るものとする。
- 全ツイート履歴 をダウンロードする
- ダウンロードしたzipファイルを展開して
tweet.js
を取り出す -
tweet.js
の冒頭のwindow.YTD.tweet.part0 =
を削除する - 以下のpython スクリプトを実行する
import twitter
import json
api = twitter.Api(
consumer_key='適切に置き換える',
consumer_secret='適切に置き換える',
access_token_key='適切に置き換える',
access_token_secret='適切に置き換える',
sleep_on_rate_limit=False
)
with open('tweet.js', encoding='utf-8', mode='r') as f:
tj=json.load(f)
for tweet0 in tj:
tweet = tweet0['tweet']
print(tweet['id'])
try:
api.DestroyStatus(tweet['id'])
except Exception as e:
print(e.args)
DestroyStatus
で消すツイートがリツイートで元ツイートが凍結や削除されている場合にエラーが起きるからtry
-except
で例外処理を行わないと途中で止まります。それ以外は以下とやってることは同じ