抖音 Web 版签名算法 _signature 解密,批量下载主页
发布时间:2024-01-02 19:42:38
抖音用户视频列表接口分析
1、从抖音 APP 分享个人信息,复制链接,获得个人主页地址,示例:
https://www.iesdouyin.com/share/user/96956380265
2、使用 Chrome 抓包,获取视频列表接口的请求信息
接口请求详情
参数分析:
user_id: 用户ID,可从 HTML 中提取
sec_uid: 空
count: 视频数量
max_cursor: 视频索引位置,用于翻页
aid: 固定值 1128
_signature: 实时签名值,由签名算法计算
dytk: 用户 token,可从 HTML 中提取
3、定位 _signature 签名算法
定位 __M
4、分析签名算法的执行逻辑
① 定义 __M 对象,及其 define 和 require 函数
② 执行 __M.define("douyin_falcon:node_modules/byted-acrawler/dist/runtime......" 这段代码
③ 执行 _bytedAcrawler=require("douyin_falcon:node_modules/byted-acrawler/dist/runtime")
④ 计算签名值 _signature=_bytedAcrawler.sign(user_id)
使用 NodeJS 提供签名计算服务
此处可能存在跨语言频繁调用的场景,所以使用 grpc 提供服务。
源码地址:https://github.com/ChinaSilence/micro-node-douyin
该源码经过测试,已经整合到批量下载抖音主页了!大家可以留意这个http://vip.rs1314.cn