This Python3 application downloads your media files (known as memories) from Snapchat servers to your local disk.
When requesting your data from Snapchat they sadly only include a .json
file which contains a seperate download link for each memory file.
This application parses the .json
file, then does it's best to download the files to local disk.
Snapchat is constantly changing their way of letting you download your data. This app is outdated as of now. Please use this one: https://github.com/ToTheMax/Snapchat-All-Memories-Downloader
Iam grateful for any suggestions/tips for improvement. This is my first Python project
- File Handling
- Apply naming sheme (Default:
Snapchat-YYYY-MM-DD_HHMMSS[1..n].ext
) - Recursive naming of files created with same timestamp (the optional
[1..n]
part above) - Existing Files are skipped
- Apply naming sheme (Default:
- Error Handling
- Log failed Downloads
- Restart download at any time (download progress is logged)
- Stats after completion
- Status output while downloading
- Maybe i forgot some, it's been a long day ¯\_(ツ)_/¯
I promise: i did my best not making any mistakes but Iam just a human as you are. (worse: iam a Student) Well, you guessed it: we make mistakes so please Don't trust this application before you read and understood the code, it is commented. I will not take any damage caused by this application on me
- Put your
memories_history.json
file into the project's root folder - Run
app.py
You should end up with the following file structure:
./media/Snapchat-xxx
<-- Your downloaded files./errors.txt
<-- Failed files including failed download links./downloaded.txt
<-- All successfull downloaded Links
If the app is stopped during runtime it resumes after the last downloaded file (for this to work dont delete downloaded.txt
)
It is possible to change the timezone for appling the file naming sheme, media folder and the file naming sheme inside the code as you should've noticed becuase you read and understood the code ;)