ARTICLE · 1225364
我弄了个视频号视频下载的skills:视频、封面、文案、逐字稿都能
开头
做内容的人大概都遇到过这种时刻。
刷到一条特别对的视频,想存下来当素材。手指停在屏幕上,发现视频号没有下载按钮。
只能录屏。开播放、录屏、裁剪头尾、再转一次格式。一条下来十几分钟,画质还掉了一档。
我忍了很久,直到上周决定把它彻底解决。

最后做出来的东西是这样的:粘一条链接进去,几秒钟,本地多一个文件夹。里面躺着四个文件——视频、封面、文案、逐字稿。
下面把这整个过程写清楚,包括我踩过的坑。
一、先说我原本以为的解法
一开始我想得很简单:网页版不是能打开视频号链接吗?那抓一下网页里的视频地址不就行了。
于是我去翻网页的接口。

结果发现,视频号的网页端,压根就没打算让你下载。
二、真正拦住我的那一层
我把视频号分享短链解析出来,调它的信息接口,返回的东西长这样:

文案、作者、封面、点赞数、收藏数,全都有。
唯独没有视频地址。
接口里那个叫 h264VideoInfo 的字段,是要放视频链接的地方,它根本不存在。我换了几种参数组合,甚至拿返回的另一个 ID 再请求一次,服务器直接回一句「此内容暂时无法播放」。
不是权限不够,也不是我姿势不对。这是产品设计——内容都想往 App 里引,网页只给你看个预览。
所以「纯网页抓取」这条路,从一开始就是死的。
三、换个思路:借一张票
真正能拿到视频流的,是带登录态的那条路径。
我把流程拆成两段。
第一段,用一次微信扫码换一张「票据」;第二段,拿票据去请求同一个接口,这次它会老老实实把视频地址吐出来。
登录态存在本机。也就是说,扫码只有第一次,之后全是纯 HTTP 请求,不用再开浏览器,也不用再扫码。
第一次大概两分钟,后面每一条都是几秒钟的事。
四、成品长什么样
我给自己定的规矩很简单:一个视频,一个文件夹。

为什么非要文件夹?
因为以前所有文件都堆在一个目录里,视频叫「123.mp4」,封面叫「cover.jpg」,过两天自己都不知道哪个配哪个。现在打开文件夹,四样东西整整齐齐,直接拖进剪辑软件就能用。
文案那个 txt 我写得比较全:标题、作者、发布时间、时长、分辨率、点赞收藏转发评论、话题标签、原始链接,最后是完整配文。要找素材的时候,光看 txt 就能判断这条值不值得用。
五、真正省时间的是批量
单条下载只是及格线。
真正让我觉得「这东西成了」的,是批量。

我把一堆链接粘进一个本地网页,它自动解析成表格:标题、作者、发布时间、点赞、收藏、转发、评论,一列排开。
点表头能排序。想看哪个博主最近哪条最火,按点赞排一下就知道。
每条前面有勾选框,可以单选、可以全选、可以反选。挑完点一个按钮,后台开始一条条下,进度实时往上走。
这个网页跑在本机 127.0.0.1,数据不出本地。
六、顺手把「说的话」也存了
视频号没有字幕文件。画面上那些字幕,是作者烧进视频里的,不是一个能单独下载的东西。
那想拿到口播内容怎么办?
只能从音轨做语音识别。

最后出来是一份带时间码的逐字稿,分两段:前面是分段稿,[00:12] 这种格式,方便定位;后面是连续稿,整段复制走就能用。
改改错别字,就是一份能用的口播稿、笔记或者字幕文件。
识别精度这块我说实话:普通话口播基本没问题,人名、品牌名、专业术语容易出同音字,得自己过一遍。
七、中间被平台拒了两次
顺便说说上架的事,可能对做同类东西的人有用。
我把这套东西打包成技能,提交到 WorkBuddy 开放平台,被拒了两次。
第一次:目录层级超限。平台只允许「根目录 / 二级目录 / 文件」两级,我有个前端文件放在了 scripts/web/index.html,三层,直接解析失败。
第二次:YAML 格式错误。我在技能描述里写了一句英文 workbench: download,那个冒号加空格在 YAML 里是非法字符,整个配置文件直接崩掉。
两次都不是功能问题,全是格式细节。
后来我干脆写了个校验脚本,把这两条连同「换行符必须是 LF」「不能有敏感文件」一起做成自动检查。现在一条命令跑完,不过就直接拒绝打包,省得再提交一次被打回来。
教训是:给平台交东西,格式比功能更容易挂。
八、怎么拿
工具支持 Windows 和 Mac,装好之后跟 AI 说一句话就能用:
或者想批量:
需要这个工具的,微信找我:datagap(备注「视频号」)。公众号后台回复「视频号」也能拿到。
最后
这套东西解决的不是什么大问题,就是一个很具体的痒点:想把喜欢的内容留在自己手里。
但做完之后我发现,真正有价值的不是「下载」这个动作,而是它把一堆零散的动作压缩成了一句话。
以前是:打开、播放、录屏、裁剪、转格式、找地方存。
现在是:粘链接,等三秒。
中间那十几个步骤,被永久地省掉了。
这种爽感,大概就是做工具最上瘾的地方。
—— 袁冬至















































































