[PYTHON] Löschen Sie alle Ihre Tweets

Einführung

Gelegentlich möchte ich rasiert sein. Mit diesem Gefühl wollte ich alle meine Tweets löschen.

Es gibt verschiedene Tools zum Löschen von Tweets. Aufgrund der API konnte ich jedoch nicht mehr als eine bestimmte Nummer löschen, ich musste ein bezahltes Mitglied werden und es funktionierte in meiner Umgebung nicht gut, sodass ich mich entschied, es selbst vorzubereiten.

Da ich zum ersten Mal sowohl die Twitter-API als auch Python berührt habe, kann es zu ungewöhnlichen Verwendungen kommen. Wenn Sie darauf verweisen möchten, tun Sie dies bitte auf eigenes Risiko.

Dinge die zu tun sind

Löschen Sie alle Tweets in Ihrem Twitter-Konto.

Umgebung

OS:Windows 10 Sprache: Python 3.8.3

Verfahren

1. Beantragen Sie die Twitter API

Ich habe die Verwendung unter Bezugnahme auf diese Website beantragt. https://www.itti.jp/web-direction/how-to-apply-for-twitter-api/ https://qiita.com/kngsym2018/items/2524d21455aac111cdee

Bewerben Sie sich mit dem Konto, für das Sie den Tweet löschen möchten. Sobald ich mich beworben hatte, erhielt ich eine E-Mail. Klicken Sie in der E-Mail auf Adresse bestätigen, um das Dashboard zu verwenden und App-Informationen zu erstellen. In dem Artikel, auf den ich mich bezog, schien es einen Austausch der Nutzungsbestätigung zu geben, aber ich hatte so etwas nicht. Es kann sein, dass die Absicht, die App zu verwenden, nur darin bestand, "meine Tweets zu lernen und zu löschen". Die Bewerbung verlief auch in schlechtem Englisch problemlos.

2. Installieren Sie Python

Ich habe die für meine Umgebung geeignete heruntergeladen und installiert. https://www.python.org/downloads/windows/

3. Installation der Bibliothek

Öffnen Sie eine Eingabeaufforderung und installieren Sie die Bibliothek.

py -m pip install python-twitter

Die folgenden zwei wurden der Umgebungsvariablen Path hinzugefügt. Die Reihenfolge ist umgekehrt.

[Installationsort]\Python38
[Installationsort]\Python38\Scripts

4. Holen Sie sich Tweet-Daten

Holen Sie sich ein Archiv mit Tweet-Daten von Ihrem Twitter-Konto. Das Verfahren wurde auf dieser Site leicht verständlich geschrieben. https://passion-blue.com/twitter-account-backup

Wenn Sie das erhaltene Archiv entpacken, finden Sie tweet.js im Datenverzeichnis. Um das JSON-Format zu erstellen, habe ich es geöffnet, die erste Zeile "window.YTD.tweet.part0 =" gelöscht und als tweet.json gespeichert. (Es ist nur ein persönliches Werkzeug, Sie werden es selten verwenden und Sie werden es manuell tun.)

5. Erstellen eines Skripts

# -*- coding: utf-8 -*-

import twitter
import json
import signal

#Strg auf dem Weg+Beschreibung, die von C gestoppt werden soll
signal.signal(signal.SIGINT, signal.SIG_DFL)

#Informationen zur Verwendung der Twitter-API
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'

#Json-Datei lesen
json_open = open('tweet.json', 'r', encoding="utf-8_sig")
json_load = json.load(json_open)

for v in json_load:
    try:
        #Löschen Sie durch Angabe der ID
        api.DestroyStatus(v['tweet']['id'])
        print("delete:" + v['tweet']['id'])
    except:
        #Wenn das Löschen fehlschlägt, weil es bereits gelöscht wurde
        print("error :" + v['tweet']['id'])

Ich habe auf diesen Artikel verwiesen. https://qiita.com/aeas44/items/a5b82da69b64b32aada4 https://qiita.com/junkoda/items/50ca8604ecbb04e9f772

Tokens finden Sie in der Twitter Developers App-> Details-> Keys and Token.

6. Führen Sie das Skript aus

Platzieren Sie tweet.json, das in Schritt 4 erstellt wurde, im selben Verzeichnis wie das Skript (app.py) und führen Sie es aus.

python app.py

Die gelöschte ID und die fehlgeschlagene ID werden nacheinander an die Konsole ausgegeben. Ich habe die Zeit nicht richtig gemessen, daher ist es ein Gefühlswert, aber ich glaube, es hat ungefähr eine Stunde gedauert, um ungefähr 10.000 Tweets mit einer Geschwindigkeit von mehreren Tweets pro Sekunde zu löschen.

Beiseite

Zuerst habe ich das Token mit einem anderen Konto als dem Twitter-Konto erhalten, das ich löschen wollte. Daher wurde zur Laufzeit "Sie dürfen den Status eines anderen Benutzers nicht löschen" angezeigt. Also habe ich den Tweet mit dem Konto, das ich löschen möchte, wiedererlangt. Das ist richtig ... aber wie realisieren bezahlte Löschwerkzeuge usw. das Löschen der Tweets des Antragstellers ...? Möglicherweise kann die Twitter-Authentifizierung gut funktionieren. Jedenfalls wurde der Zweck erreicht.

Recommended Posts

Löschen Sie alle Ihre Tweets
Holen Sie sich alle Live-Tweets von professionellen Baseball
Holen Sie sich viele Ihrer Tweets mit Tweepy