Douyin Downloader V2: Batch Download TikTok Videos & More
Douyin Downloader V2.0: The Complete Guide to Batch Downloading Chinese TikTok Content
What is Douyin Downloader?
Douyin Downloader V2.0 is a powerful, open-source Python tool designed for batch downloading content from Douyin (China's TikTok). With 7.2k GitHub stars and active development, this tool supports videos, image notes, collections, music, favorites, and profile batch downloads β all without watermarks.
Key Features
β Multi-format support: Videos, image-notes, collections, music, favorites β No watermarks: Automatically selects clean video sources β Batch profile downloads: Posts, likes, mixes, music from any user β Browser fallback: Handles pagination blocks with manual CAPTCHA support β SQLite deduplication: Never download duplicates across modes β Concurrent downloads: Configurable threading (default 5) β Progress bars: Rich progress display with quiet mode β Retry logic: Exponential backoff (1s, 2s, 5s) β Docker ready: One-command deployment β Video transcription: Optional OpenAI Whisper integration β Incremental downloads: Resume where you left off β Time filtering: Download by date range
Quick Start (5 Minutes)
# 1. Clone & install
pip install -r requirements.txt
# 2. Copy config
cp config.example.yml config.yml
# 3. Auto-capture cookies
python -m tools.cookie_fetcher --config config.yml
# 4. Run!
python run.py -c config.yml
Minimal Config Example
link:
- https://www.douyin.com/user/MS4wLjABAAAAxxxx
path: ./Downloaded/
mode:
- post
- like
thread: 8
database: true
browser_fallback:
enabled: true
headless: false
Real-World Use Cases
1. Creator Archive
Download all posts + likes from your favorite creators:
mode: [post, like]
number:
post: 0 # unlimited
like: 0
2. Music Collection
Extract original audio tracks:
link: https://www.douyin.com/music/7341234567890123456
3. Research Dataset
Full profile crawl with transcription:
mode: [post, like, mix]
transcript:
enabled: true
model: gpt-4o-mini-transcribe
Advanced Features
Cross-Mode Deduplication
Same aweme_id won't download twice across post/like/mix modes.
Browser Fallback
When APIs block pagination (common after ~20 posts), automatically launches browser for manual scrolling + CAPTCHA solving.
Output Structure
Downloaded/
βββ AuthorName/
βββ post/
β βββ 2024-02-07_Title_aweme123/
β βββ video.mp4
β βββ cover.jpg
β βββ music.mp3
β βββ data.json
β βββ transcript.txt
βββ like/
βββ mix/
Docker Deployment
docker build -t douyin-downloader .
docker run -v $(pwd)/config.yml:/app/config.yml -v $(pwd)/Downloaded:/app/Downloaded douyin-downloader
Troubleshooting
"Only 20 posts downloaded?"
browser_fallback:
enabled: true
headless: false # Manual verification needed
"Expired cookies?"
python -m tools.cookie_fetcher --config config.yml
Why Choose This Tool?
- Production-ready: CI/CD, comprehensive testing
- Actively maintained: Recent commits (Mar 2026)
- Feature-complete: Handles edge cases other tools miss
- MIT License: Free for personal/commercial use
β οΈ Legal Disclaimer
For personal archiving, research, and learning only. Respect platform ToS, copyrights, and privacy rights.
GitHub: jiji262/douyin-downloader
β Star it if you found this useful!