Install
openclaw skills install wechat-video-downloader从微信公众号文章中提取并下载视频。使用场景:用户发送公众号文章链接并要求下载其中的视频,或提到"微信视频下载"、"公众号视频"、"mp.weixin.qq.com 视频"等关键词。自动识别页面中的视频播放器,提取真实视频 URL 并下载到本地。
openclaw skills install wechat-video-downloader从微信公众号文章中提取并下载嵌入的视频文件。
当用户提供微信公众号文章链接时,使用内置脚本下载视频:
python ~/.openclaw/skills/wechat-video-downloader/scripts/download_wechat_video.py <文章 URL> [输出文件名]
当用户请求包含以下特征时触发此技能:
mp.weixin.qq.com 的 URL方法 A:使用浏览器快照(推荐)
打开文章页面并获取快照,查找视频播放按钮:
1. 用 browser.open 打开文章 URL
2. 用 browser.snapshot 获取页面快照(refs="aria")
3. 查找包含"播放视频"、"play"、"video"的 button 元素
4. 提取按钮的 ref 用于后续点击
方法 B:直接调用脚本
如果确认文章包含视频,直接运行下载脚本:
python ~/.openclaw/skills/wechat-video-downloader/scripts/download_wechat_video.py <URL>
脚本自动执行以下步骤:
<video> 元素的 src问题 1:403 Forbidden
微信视频链接有时效性和来源验证,必须添加正确的请求头:
curl -L -o output.mp4 \
-H "User-Agent: Mozilla/5.0 ..." \
-H "Referer: https://mp.weixin.qq.com/" \
"<video_url>"
问题 2:找不到视频元素
问题 3:视频链接过期
视频 URL 包含时效性 token,必须在点击播放后立即提取并下载,不能重复使用旧链接。
~/.openclaw/skills/wechat-video-downloader/scripts/download_wechat_video.py
article_url(必需)- 微信公众号文章 URLoutput_filename(可选)- 输出文件名,默认使用视频 ID用户:下载这个公众号文章里的视频 https://mp.weixin.qq.com/s/xxx
python ~/.openclaw/skills/wechat-video-downloader/scripts/download_wechat_video.py https://mp.weixin.qq.com/s/xxx
用户:把视频保存为"教学视频.mp4"
python ~/.openclaw/skills/wechat-video-downloader/scripts/download_wechat_video.py https://mp.weixin.qq.com/s/xxx 教学视频.mp4
如果脚本无法自动处理,手动执行:
1. browser.open targetUrl=<文章 URL>
2. browser.snapshot refs="aria" → 找到播放按钮 ref
3. browser.act request='{"kind":"click","ref":"e88"}'
4. sleep 3
5. browser.act request='{"kind":"evaluate","fn":"()=>document.querySelector(\"video\").src"}'
6. 用 curl 下载提取的 URL
7. browser.close 关闭页面
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| 403 Forbidden | 缺少 Referer 头 | 确保 curl 添加 -H "Referer: https://mp.weixin.qq.com/" |
| 找不到视频 | 页面未完全加载 | 增加点击前的等待时间 |
| 文件为空 | URL 过期 | 重新打开页面,立即提取并下载 |
| 脚本无响应 | 浏览器未启动 | 先运行 openclaw browser start |