Skip to content

XRTce/snapchat-takeout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

snapchat-takeout

Snapchat Takeout (GDPR) Memories Downloader

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

Features:

  • 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
  • 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 ¯\_(ツ)_/¯

Disclaimer:

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

Usage

  1. Put your memories_history.json file into the project's root folder
  2. 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 ;)

Screenshots

Downloading files:

downloading

Skipping existing files:

skipped

Duplicate file handling:

duplicate

Download error:

error

Stats after finished task:

stats

About

Snapchat Takeout (GDPR) Memories Downloader

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages