A versatile video downloading tool that supports multiple video platforms with intelligent platform detection and multiple download methods.
# Required dependencies
pip install yt-dlp requests DrissionPage
# For DrissionPage browser automation
# Chrome browser will be auto-downloaded on first use
# Douyin
python scripts/video_downloader.py "https://www.douyin.com/video/xxx"
# Bilibili
python scripts/video_downloader.py "https://www.bilibili.com/video/xxx"
# YouTube
python scripts/video_downloader.py "https://www.youtube.com/watch?v=xxx"
# Any other platform
python scripts/video_downloader.py "https://example.com/video"
python scripts/video_downloader.py \
-u "https://www.douyin.com/video/xxx" \
-u "https://www.bilibili.com/video/yyy" \
-u "https://www.youtube.com/watch?v=zzz"
# Search "美女" and download 5 videos
python scripts/video_downloader.py 美女 --search --count 5
# Search with custom count
python scripts/video_downloader.py 美女 --search --count 10
For sites with strong anti-crawl protection:
python scripts/video_downloader.py "https://example.com/video" --browser
python scripts/video_downloader.py "URL" --output "D:\\MyVideos"
url_or_keyword - Video URL or search keyword--url, -u - Video URL(s), can be used multiple times--search, -s - Enable search mode (for Douyin)--platform, -p - Platform for search (default: douyin)--count, -n - Number of videos to download (default: 5)--output, -o - Output directory (default: D:\video_downloads)--browser, -b - Force use browser mode for downloadingvideo_downloads/
├── single_20240312_121029/
│ ├── 001_video_title.mp4
│ └── 001_video_title.json
├── batch_20240312_121102/
│ ├── 001_video1.mp4
│ ├── 001_video1.json
│ ├── 002_video2.mp4
│ ├── 002_video2.json
│ └── _summary.json
└── douyin_keyword_20240312_121205/
├── 001_video1.mp4
├── 001_video1.json
├── 002_video2.mp4
├── 002_video2.json
└── _summary.json
{
"index": 1,
"title": "Video Title",
"author": "Uploader Name",
"platform": "douyin",
"url": "https://www.douyin.com/video/xxx",
"video_filename": "001_video_title.mp4",
"file_size_mb": 16.84,
"download_time": "2024-03-12T12:20:30"
}
The tool automatically detects the platform from the URL:
douyin.com → Douyinbilibili.com / b23.tv → Bilibiliyoutube.com / youtu.be → YouTubetiktok.com → TikTok--browser flagFor Douyin search:
pip install yt-dlp
pip install DrissionPage
Try forcing browser mode:
python video_downloader.py "URL" --browser
DrissionPage will auto-download Chrome on first use. If it fails:
Some sites may block automated access. Try:
--browser modeThis tool is for educational and personal use only. Respect the terms of service of video platforms.
共 1 个版本