问答

抖音爬虫的签名又失效了,是继续修还是换数据接口?

简短回答

团队里有人乐意逆向抖音的网页签名、而且采集量非常大,就修;这周就要拿到数据,就换。okdata 上同样的任务不用签名也不用 Cookie:抖音搜索每次 $0.02,按分享链接取视频每次 $0.002,评论每页约 20 条、$0.002。

抖音网页端的接口要求请求带签名和一组 Cookie,抖音一更新前端 JS,这两样就跟着变,开源项目往往一起挂。有个下载项目的用户直接问是不是不维护了,换了 Cookie 也解析不了;另一个工具则发现抖音的某个数据接口已经下线。这种问题很少一行代码能修好,修好之后下一次失效也只是时间问题。

继续修,要付出什么

  • 一个能读混淆 JS、把签名算法重新实现出来的人,往往要好几天。
  • 新的 Cookie;量大的话,还要没被风控盯上的账号和代理。
  • 抖音每改一次就重来一遍,而且不会提前通知。

对采集量极大、或者把采集当核心技术来做的团队,这是合理的投入。对周五就要交的营销报告来说,这是最贵的选项。

换接口,同样的任务多少钱

任务 接口 价格
关键词搜索 抖音视频搜索 每页约 20 条,$0.02
用分享链接取一个视频 抖音视频详情 $0.002
评论 抖音视频评论 每页约 20 条,$0.002
账号的作品 抖音账号作品列表 每页约 20 条,$0.002

一份周报,20 次搜索、100 个视频详情、200 页评论,合计 {{cost:douyin.videos.search20+douyin.videos.get100+douyin.videos.comments.list*200}}。

# v.douyin.com 分享链接直接传;你这边不用管 a_bogus、msToken、ttwid
curl -G "https://api.okdata.online/v1/douyin/videos/get" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode 'url=https://v.douyin.com/xxxxxx/'

换之前想清楚

  • 只有公开数据。爬虫以前通过登录态读到的东西,比如你自己账号的后台数据,这里拿不到。
  • 抖音页面上不公开显示的数字返回 null,meta.unavailable 会注明;这次调用仍是正常返回,照常计费。
  • 上游数据源出问题时,返回 upstream_failed 或 upstream_busy,都不扣费,稍后重试即可。修的活儿不再是你的。

官方的路

抖音开放平台走的是 账号主人授权的 OAuth 权限。如果你只需要愿意授权给你应用的账号的数据,比如自家品牌号,就用它。要看别人账号的公开数据,可以参考竞品监测里的做法。

更新于