抖音解析工具纯JS零依赖支持视频下载、图文提取、动图解析
一个基于 Node.js 的抖音内容解析工具,支持短链解析、视频下载、图文提取、动图解析。全链路自主实现,包含 WAF 挑战破解、a_bogus 签名生成、Token 自动获取,零外部 npm 依赖
功能
短链自动识别(v.douyin.com/xxx)
视频 / 图文(note)/ 动图(slides)三种类型
无水印视频地址(多码率)
中英双语输出:
douyin_cn.mjs 中文格式化,
douyin.mjs 英文 JSON
HTTP API 服务
(server.mjs,端口8080,JSON 缩进格式化)
数据说明
返回结果对抖音 API 原始数据做了结构化提取,保留6组核心字段(50+子字段),非完整透传:
basic(15字段):
类型、作品ID、标题、时长、发布时间、状态码、是否置顶/广告/AI生成、地区等
author(19字段):
用户ID、昵称、抖音号、签名、头像、粉丝数、关注数、总获赞、作品数、IP属地、性别、认证类型等
statistics(7字段):
点赞、评论、分享、收藏、播放、推荐、赞赏
media(13字段):视频地址、H264/H265地址、封面/原始封面/动态封面、分辨率、水印、码率(仅最高档位)、图片集、背景音乐
share(5字段):
分享链接、二维码、附加文本、标签、锚点
platform(4字段):风险信息、图像信息、视频控制、SEO信息
已知截取点:
所有URL字段只取url_list[0](首个CDN地址);
码率排序后仅保留最高档位;
图片集只提取URL;
poi_info、cha_list等字段已丢弃。
如需完整透传:
douyin.mjs约第238行 return 替换为 return json.aweme_detail 即可(server.mjs同理),共改2处。
技术实现
WAF绕过:SHA256 爆力破解 _wafchallengeid,上限200万次
Token链:s_v_web_id → _wafchallengeid → __ac_nonce → __ac_signature → ttwid
a_bogus:50维向量混淆 + XOR链 + SM3国密哈希,纯JS还原
__ac_signature:Node vm 沙箱执行 byted_acrawler
加密原语:SM3国密、RC4流密码变体、4套自定义Base64字符集
文件结构
douyin.mjs(417行)命令行版,英文JSON
douyin_cn.mjs(494行)命令行版,中文格式化
server.mjs(627行)HTTP API服务,端口8080
abogus.js(60行)a_bogus签名算法
deps.js(42行)SM3/RC4/Base64底层实现
douyin.py(479行)Python版备用
Node.js ≥ 18
抖音反爬持续更新,若失效请检查a_bougs Token 链
仅学习交流,勿用于商业爬取

点击阅读原文下载文件
感谢阅读!
文章《抖音解析工具纯JS零依赖支持视频下载、图文提取、动图解析》由 yueshou 发布于 2026-07-09
更多精彩内容请关注 公众号
原文链接:https://xdows.com/2026/07/09/%e6%8a%96%e9%9f%b3%e8%a7%a3%e6%9e%90%e5%b7%a5%e5%85%b7%e7%ba%afjs%e9%9b%b6%e4%be%9d%e8%b5%96%e6%94%af%e6%8c%81%e8%a7%86%e9%a2%91%e4%b8%8b%e8%bd%bd%e3%80%81%e5%9b%be%e6%96%87%e6%8f%90%e5%8f%96%e3%80%81/
夜雨聆风