[PYTHON] Effacez tous vos tweets

introduction

Parfois, je veux être rasé. Avec ce sentiment, je voulais supprimer tous mes tweets.

Il existe différents outils de suppression de tweet. Cependant, à cause de l'API, je ne pouvais pas supprimer plus d'un certain nombre, je devais devenir membre payant et cela ne fonctionnait pas bien dans mon environnement, alors j'ai décidé de le préparer moi-même.

Depuis que j'ai touché à la fois à l'API Twitter et à Python pour la première fois, il peut y avoir des utilisations qui sortent de l'ordinaire. Si vous souhaitez vous y référer, veuillez faire une chose à vos risques et périls.

Choses à faire

Supprimez tous les tweets de votre compte Twitter.

environnement

OS:Windows 10 Langage: Python 3.8.3

procédure

1. Demander l'API Twitter

J'ai fait une demande d'utilisation en me référant à ce site. https://www.itti.jp/web-direction/how-to-apply-for-twitter-api/ https://qiita.com/kngsym2018/items/2524d21455aac111cdee

Postulez avec le compte pour lequel vous souhaitez supprimer le tweet. Dès que j'ai postulé, j'ai reçu un email. Cliquez sur Confirmer l'adresse dans l'e-mail pour utiliser le tableau de bord et créer des informations sur l'application. Dans l'article auquel j'ai fait référence, il semble qu'il y ait eu un échange de confirmation d'utilisation, mais je n'avais pas une telle chose. C'est peut-être parce que l'intention d'utiliser l'application était simplement "d'apprendre et d'effacer mes tweets". L'application a réussi sans aucun problème, même en mauvais anglais.

2. Installez Python

J'ai téléchargé et installé celui qui convient à mon environnement. https://www.python.org/downloads/windows/

3. Installation de la bibliothèque

Ouvrez une invite de commande et installez la bibliothèque.

py -m pip install python-twitter

Les deux suivants ont été ajoutés à la variable d'environnement Path. L'ordre est inversé.

[Lieu d'installation]\Python38
[Lieu d'installation]\Python38\Scripts

4. Obtenez des données de tweet

Obtenez une archive des données de tweet de votre compte Twitter. La procédure a été rédigée de manière facile à comprendre sur ce site. https://passion-blue.com/twitter-account-backup

Lorsque vous décompressez l'archive obtenue, vous trouverez tweet.js dans le répertoire de données. Pour le rendre au format json, je l'ai ouvert, supprimé la première ligne "window.YTD.tweet.part0 =" et l'ai enregistré sous le nom tweet.json. (C'est juste un outil personnel, vous l'utiliserez rarement et vous le ferez manuellement.)

5. Création d'un script

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

import twitter
import json
import signal

#Ctrl en chemin+Description à arrêter par C
signal.signal(signal.SIGINT, signal.SIG_DFL)

#Informations sur l'utilisation de l'API 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'

#Lire le fichier json
json_open = open('tweet.json', 'r', encoding="utf-8_sig")
json_load = json.load(json_open)

for v in json_load:
    try:
        #Spécifiez l'ID et supprimez
        api.DestroyStatus(v['tweet']['id'])
        print("delete:" + v['tweet']['id'])
    except:
        #Si la suppression échoue car elle a déjà été supprimée
        print("error :" + v['tweet']['id'])

J'ai fait référence à cet article. https://qiita.com/aeas44/items/a5b82da69b64b32aada4 https://qiita.com/junkoda/items/50ca8604ecbb04e9f772

Les jetons peuvent être trouvés dans l'application Twitter Developers-> Détails-> Clés et jetons.

6. Exécutez le script

Placez tweet.json créé à l'étape 4 dans le même répertoire que le script (app.py) et exécutez-le.

python app.py

L'ID supprimé et l'ID échoué sont crachés séquentiellement sur la console. Je n'ai pas mesuré le temps correctement, donc c'est une valeur de sentiment, mais je pense qu'il a fallu environ une heure pour supprimer environ 10000 tweets à un rythme de plusieurs tweets par seconde.

De côté

Au début, j'ai reçu le jeton avec un compte autre que le compte Twitter que je voulais supprimer, donc j'ai obtenu "Vous ne pouvez pas supprimer le statut d'un autre utilisateur." Au moment de l'exécution. J'ai donc réacquis le tweet avec le compte que je souhaite supprimer. C'est vrai ... mais comment les outils de suppression payants, etc. réalisent-ils la suppression des tweets du candidat ...? Il est possible de faire du bien avec l'authentification Twitter. Quoi qu'il en soit, le but a été atteint.

Recommended Posts

Effacez tous vos tweets
Obtenez tous les tweets en direct du baseball professionnel
Recevez beaucoup de vos tweets avec Tweepy