いっしきまさひこBLOG

AI・機械学習関連、Web制作関連、プログラミング関連、旅行記録などなど。一色政彦。

twitterでのつぶやきを一括削除するツール

2010年11月20日更新。2011年6月22日更新(認証ができなくなっていた問題を解決)。2012年5月3日更新(同様に認証できなくなっていた問題で、自動認証→手動認証に仕様変更)。

twitter Twitterのつぶやき(ステータス)を一括削除するツール「TwitterEraser」(Twitterでの製品登録名は「TweeterEraser」)を作りました。あくまで自分用に作ったので、完ぺきではない部分があるかもしれません。しかも数カ月前に作ったので、細かい仕様を忘れてしまいました……(^^;)。何か問題がおきても責任は一切取りませんのであしからず、自己責任で。取りあえず自分のIDで試してみましたが問題ないようです。世の中にはつぶやき削除したい人もいるかと思い、せっかく作ったので、とりあえずあるままで提供します。

なお、twitterのつぶやきは、消しても、表示されなくなっているだけで、実際には消えていないそうですので、その点、ご了解ください。

※TwitterEraserは、最新の100件のつぶやきを残して、3万件のつぶやきを一括削除します。ただし3万件削除するには、理論的に8日以上かかりますので注意してください(300件ぐらいなら2~3時間です)。こんなに時間がかかるのは1時間に150回しかAPI(=プログラム内で使うもの)を呼び出しできないという制限がtwitter側で設定されているためです(2010年11月20日現在は350回に増えているようです)

上記のリンクからtwittereraser.zipファイルをダウンロードしたら、任意の場所に展開してください。展開したフォルダ内にある「TwitterEraser.exe」を実行すると、次のようなアプリケーションが起動します(※事前に.NET Framework 3.5がインストールされている必要があります)。

twittereraser1

上記のとおり、Twitter APIには制限があります。その制限は[制限確認]ボタンをクリックすると、下のようなダイアログが表示されて確認できます。150/150というのは、150回の呼び出し回数中、あと150回呼び出せるという意味で、ここから1回APIを呼び出すごとに減っていきます。リセット時間というのは150回が再び満タンになる時間です。

twittereraser2

しかしこの値は実は信用できません。Twitterから取得しているのですが、必ずしも正しくないようです。API呼び出し残り回数が「0/150」になっているときのみ、正しいようですので、そのチェックとリセット時刻を調べる際に参考にすることはできると思います。

なお、Twitterのクライアント・ツールを利用している場合、それらのツールの使用中は、この「API呼び出し回数」がそれらのツールによって減らされてしまうので、確実にそれらのツールを終了してください(タスクバー内で常駐して動作するものがあるので注意してください)。

それでは、実際に削除してみましょう。

まず、TwitterのユーザーIDとパスワードを入力して(2010年11月20日の更新で不要になりました。各ボタンをクリックすると、Twitter側の認証ページが表示されますので、そこで入力してください)、ページ番号を「2」にして(最初からそうなっているはず)、[ページ番号以前を一括削除]ボタンをクリックしてください。1ページが100件のつぶやきに該当します。つまり2ページというのは101件目以降のつぶやきを削除するという意味になります。ここに「1」を設定すると、最初から削除されるはずです(試していないので、自己責任で)。つぶやきがすでに300を超えているなら、まず「つぶやき件数/150」の数値の1ページ前(例えば3000件÷150=20ページ目なら「19」)ぐらいを入力して実行してみることをお勧めします(※上記のとおり、すごく時間がかかるため)。

twittereraser3

実行開始すると、右中央の「処理前」が「処理実行中」に変わります。[ページ番号]は何ページまで読み込んだかが表示されます。この例では「5」ページまで読み込んでいます。

上の画像の01 にはAPI残り回数が、02にはリセット時刻が表示されます(これららは、先ほどと違って、正しい値のようです。※Twitter APIは実際にAPIを呼び出さないと正しいAPI制限の値を取得できないらしいです……)。

twittereraser4

上の画像は呼び出し制限までAPIを使ったので、APIが150回の満タンに復活するまで待っているところです。

01 には削除中のつぶやきが表示されます。何件中何件目の削除なのか、そのつぶやきのID、つぶやかれた日時の順です。(※ちなみにこの例では、5ページ分取得しているので、401件以上あるはずですが、すでにいくつかの発言を消していたりしたので「109」件しかないんだと思います。例えば手動でつぶやきを削除した場合などでは、その分が歯抜け状態で取得できないので、実際には1ページ=100件にはなりません。)

02には再開するまでの残り時間が表示されます。

削除が完了すると、次のメッセージが表示されます。

twittereraser5

この画面では「130ページ分」となっていますが、「300ページ分」の間違えです。

あと、試していませんが、リンク先のようなツールもあるみたいです。:http://twitwipe.aalaap.com/login.php