-
-
Save n-eq/d6bd3438cd87ab419888edbc4dc1f0f5 to your computer and use it in GitHub Desktop.
| #!/bin/python3 | |
| # Fork of https://gist.github.com/davej/113241 | |
| # Requirements: | |
| # - twitter API credentials (replace the correponding variables) | |
| # - tweet.js file you get by extracting your twitter archive zip file (located in data/) | |
| # License : Unlicense http://unlicense.org/ | |
| import tweepy | |
| import | |
| import json | |
| from datetime import datetime, timedelta | |
| from dateutil import parser | |
| consumer_key = '' | |
| consumer_secret = '' | |
| access_token = '' | |
| access_token_secret = '' | |
| days_to_keep = 365 | |
| auth = tweepy.OAuthHandler(consumer_key, consumer_secret) | |
| auth.set_access_token(access_token, access_token_secret) | |
| api = tweepy.API(auth) | |
| utc = pytz.UTC | |
| cutoff_date = utc.localize(datetime.now() - timedelta(days=days_to_keep)) | |
| fp = open("tweet.js","r") | |
| fp.seek(25) # skip to '[' which is the beginning of the json part | |
| myjson = json.load(fp) | |
| for i in range(len(myjson)): | |
| parsed_date = parser.parse(myjson[i]['tweet']['created_at']) | |
| # print(parsed_date) | |
| if parsed_date < cutoff_date: | |
| # beware, this operation is irreversible | |
| try: | |
| # print("Destroying tweet %s" % myjson[i]['tweet']['id_str']) | |
| api.destroy_status(myjson[i]['tweet']['id_str']) | |
| except Exception as e: | |
| print("There was an exception: %s." % e) | |
| pass |
Script updated to take into account your comments : added more context and fixed the issue with json parsing.
Thanks everyone! (especially @Achifaifa @drownranger)
Hi!! I'm a totally beginner here. How do I run it? I create a folder, put my tweet.js file there together with your script. How do I run it? In CMD, it doesn't work :(
Hi @Carolinewk, no worries.
There are two main requirements actually:
- You need to get access to Twitter API, navigate http://apps.twitter.com/ and create an app from your account. You'll then need to fill some basic information but this operation is quite straightforward. Upon success, you'll get 4 elements (consumer_key, consumer_secret, access_token, access_token_secret). Replace with the corresponding values in lines 15-19, make sure you are the only one to know the values.
- You need to download your personal twitter archive. For this, please see https://help.twitter.com/en/managing-your-account/how-to-download-your-twitter-archive. Once downloaded, you'll get a zip file, unzip it and extract a file named tweet.js located in data/.
Once you completed these 2 steps you'll just have to configure and run the script above.
Are you using windows ?
Hi @Carolinewk, no worries.
There are two main requirements actually:
- You need to get access to Twitter API, navigate http://apps.twitter.com/ and create an app from your account. You'll then need to fill some basic information but this operation is quite straightforward. Upon success, you'll get 4 elements (consumer_key, consumer_secret, access_token, access_token_secret). Replace with the corresponding values in lines 15-19, make sure you are the only one to know the values.
- You need to download your personal twitter archive. For this, please see https://help.twitter.com/en/managing-your-account/how-to-download-your-twitter-archive. Once downloaded, you'll get a zip file, unzip it and extract a file named tweet.js located in data/.
Once you completed these 2 steps you'll just have to configure and run the script above.
Are you using windows ?
Yeah. I'm using windows. Actually I did everything and the keys are already with me. I just can't run the code haha, pretty stupid but It still very confusing to me (I have no experience with python).
I think it's supposed to configure it with IDLE, right? I just put the keys there.
I created a folder, put your script there (deloldtweets.py), edited it with the IDLE (putting the keys in the beginning), and finally, put the tweet.js file there.
So, in the folder there's only these 2 files. But I don't know how to run them. I tried CMD and Powershell. With cmd: I put (cd + folder location) and then python deloldtweets.py. It didn't work. And with powershell I did the same. Nothing happens :(
Sorry if it's not clear.
Hi @Carolinewk, no worries.
There are two main requirements actually:
- You need to get access to Twitter API, navigate http://apps.twitter.com/ and create an app from your account. You'll then need to fill some basic information but this operation is quite straightforward. Upon success, you'll get 4 elements (consumer_key, consumer_secret, access_token, access_token_secret). Replace with the corresponding values in lines 15-19, make sure you are the only one to know the values.
- You need to download your personal twitter archive. For this, please see https://help.twitter.com/en/managing-your-account/how-to-download-your-twitter-archive. Once downloaded, you'll get a zip file, unzip it and extract a file named tweet.js located in data/.
Once you completed these 2 steps you'll just have to configure and run the script above.
Are you using windows ?Yeah. I'm using windows. Actually I did everything and the keys are already with me. I just can't run the code haha, pretty stupid but It still very confusing to me (I have no experience with python).
I think it's supposed to configure it with IDLE, right? I just put the keys there.
I created a folder, put your script there (deloldtweets.py), edited it with the IDLE (putting the keys in the beginning), and finally, put the tweet.js file there.So, in the folder there's only these 2 files. But I don't know how to run them. I tried CMD and Powershell. With cmd: I put (cd + folder location) and then python deloldtweets.py. It didn't work. And with powershell I did the same. Nothing happens :(
Sorry if it's not clear.
Okay, it might be tricky as I don't have a Windows machine on hand.
Basically you're all set once you have defined the parameters in lines 15-19 and put the tweet.js file in the same directory.
Can you try running execfile('deloldtweets.py') from the IDLE shell?
Hi @drownranger, thanks for the comment. Glad you managed to make it work!