Install
openclaw skills install video-downloader-toolUniversal video downloader supporting multiple platforms (Douyin, Bilibili, YouTube, TikTok, etc.). Can download videos by URL or search by keyword (Douyin supported). Use when users need to download videos from video platforms.
openclaw skills install video-downloader-toolA 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 → TikTokyt-dlp (default for most platforms)
DrissionPage (for anti-crawl sites)
--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.