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.
Löschen Sie alle Tweets in Ihrem Twitter-Konto.
OS:Windows 10 Sprache: Python 3.8.3
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.
Ich habe die für meine Umgebung geeignete heruntergeladen und installiert. https://www.python.org/downloads/windows/
Ö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
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.)
# -*- 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.
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.
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.