问答

怎么从主页链接拿到抖音用户的 sec_uid?

简短回答

把主页链接或 v.douyin.com 分享短链传给 okdata 的抖音账号信息接口,返回的 id 就是 sec_uid,同时附带粉丝数、获赞数和作品数,每次 $0.002。这个用户的任意一条视频或搜索结果里,author.id 也是 sec_uid,很多时候你手上其实已经有了。

抖音给每个账号准备了好几个标识。主页上的抖音号是给人看的,而且可以改;数字 uid 是内部用的;sec_uid 是一长串以 MS4wLjABAAAA 开头的字符,抖音网页和 App 接口取主页、取作品都用它,大多数工具要的也是它。链接格式一变,或者短链跳转跟工具预期的不一样,爬虫就会报“提取 sec_user_id 失败”。最快的拿法,是用指向这个账号的任意链接查一次账号信息。

三种拿法

  1. **从主页链接拿。**用 url=https://www.douyin.com/user/MS4w...(路径里本身就是 sec_uid),或者 App 主页分享按钮复制出来的 v.douyin.com 短链,调抖音账号信息。返回的 id 就是 sec_uid。
  2. 从他的视频拿。视频详情返回的 author.id 就是作者的 sec_uid。手上只有视频链接时很好用。
  3. 从搜索结果拿。视频搜索的每条结果里也有 author.id。

拿到之后做什么

账号作品列表必须用 sec_uid 作为 id。以后不带链接再查账号信息,也用它。

步骤 调用次数 费用
主页链接转 sec_uid,并拿到账号数据 1 $0.002
再取最新 20 条作品 1 $0.002
100 个账号,两步都做 200 {{cost:douyin.users.get100+douyin.users.videos.list100}}

示例

curl -G "https://api.okdata.online/v1/douyin/users/get" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode 'url=https://v.douyin.com/iAbCdEf/' \
  --data-urlencode 'fields=id,name,username,followers,posts'

id 是 sec_uid,username 是 App 里显示的抖音号。

限制

  • 这里没有按抖音号或昵称查账号的接口。手上只有抖音号的话,在 App 里打开主页,用分享链接;或者找到他的一条视频。
  • sec_uid 转数字 uid 没有单独的接口;加 view=full 时,如果抖音提供,账号信息的 ext.uid 里会有。
  • 被封或已注销的账号返回 not_found,不扣费。

其他办法

只有一个账号的话,用浏览器打开主页,地址栏里 /user/ 后面那串就是 sec_uid。TikTokDownloader 等开源工具可以在本地从链接里提取,只要它们跟得上链接格式的变化就没问题。要批量跟踪很多账号,可以看达人发现方案。

更新于