Note: This application provides a user-friendly interface for downloading TikTok videos from your data export.
This Python application provides a graphical interface for downloading and archiving TikTok videos from a structured data export file JSON. It features parallel processing, progress tracking, batch downloading, and automatic retry mechanisms for failed downloads.
- GUI interface with real-time progress tracking
- Parallel download with configurable worker threads
- Batch processing with progress monitoring
- Automatic retry on failed downloads
- File format detection and proper naming
- Real-time logging in GUI and to files
- ZIP archive creation of downloaded content
- Duplicate URL detection and skipping
- Python 3.x
- pip (Python package manager)
- tkinter (usually comes with Python, required for GUI)
- Required Python packages:
- requests
- concurrent.futures (part of Python standard library)
- logging (part of Python standard library)
- Ensure Python 3.x is installed on your system
- Install the required Python packages:
pip3 install requests pip3 install urllib3 pip3 install pyinstaller
- On Linux/macOS systems, ensure tkinter is installed:
# For Ubuntu/Debian sudo apt-get install python3-tk # For macOS (using Homebrew) brew install python-tk
Double click the TikTokDownloader Unix EXE. THIS will bring up a GUI and a terminal. You ignore the terminal.
OR
You can open terminal and run it by command.
- Click "Browse" to select your JSON file (from TikTok data export)
- Configure settings:
- Workers: Number of parallel download threads (default: 2)
- Batch Size: Videos to process in each batch (default: 100)
- Click "Start Download" to begin the process
- Monitor progress through:
- Progress bar
- Real-time log display
- Status messages
- Start Download: Begin the download process
- Stop: Safely stop ongoing downloads
- Close Window: Safely exit the application
downloads/
: Directory containing downloaded videosvideos.zip
: Final archive of all downloaded contenterrors.log
: Error messages and exceptionsvideos.log
: Processing log with video metadata
Downloaded files follow the pattern:
[type]_[date]_[category]_[unique_hash].[extension]
- type: "personal" or "other"
- date: Video date
- category: Video category
- hash: Unique identifier
- extension: .mp4 for videos, .jpg/.jpeg/.png/.webp for images
- Automatic retry for failed downloads (up to 3 attempts)
- Duplicate file detection and skipping
- Safe cleanup on unexpected termination
- Detailed logging for troubleshooting
- The application requires a valid TikTok data export JSON file
- Download speed depends on your internet connection and number of workers
- Large numbers of workers may impact system performance
- Progress is saved between batches
- The application safely handles interruptions and cleanup
Copyright (c) 2024 Harry Zhu. Licensed under a permissive license that allows use and modification with attribution.
- Check
errors.log
for detailed error messages - Ensure stable internet connection
- Verify your JSON format and content
- Adjust worker count if downloads are unstable
- Check system resources if processing large batches
For any issues or contributions, please file an issue or contact the repository maintainers.