抖音网页版的抖音Cookie里藏着token,这玩意儿就是获取何提你的登录凭证。拿到它,抖音就能模拟登录状态去调接口、获取何提扒数据。抖音但很多人卡在第一步:F12打开开发者工具,获取何提Application面板里翻半天,抖音token字段和一堆乱码混在一起,获取何提根本分不清谁是抖音谁。
先说最直接的获取何提路径。用Chrome登录抖音网页版,抖音按F12切到Network标签,获取何提随便点个视频或者刷个评论,抖音网络请求列表会刷出一堆XHR请求。获取何提找名字里带user或者profile的抖音接口,点开看请求头,Cookie那一长串字符串里,sessionid开头的就是核心。但token通常不叫token,它可能叫sid_guard、sid_tt,甚至直接藏在passport_csrf_token里。别指望字段名带token就一定是,得靠实验验证。
我的笨办法是复制整段Cookie,丢到文本编辑器里,用分号拆开,一行一个键值对,再逐个试。拿sid_guard去请求一次个人信息接口,返回200就说明对了。这个过程枯燥,但比瞎猜靠谱。
还有个坑:抖音的Cookie是动态刷新的。你上午拿到的token,下午可能就失效了。尤其频繁请求触发风控,Cookie会被强制重置。所以写脚本爬数据的人,得学会自动从浏览器里捞新Cookie——用Selenium或者Playwright模拟登录,每次启动都重新获取。手动复制粘贴?那只能应付一次性任务。
更隐蔽的是,部分接口需要的token不在Cookie里,而在请求参数中。比如某些搜索接口,URL末尾跟着X-Bogus或者a_bogus,这些是加密参数,跟Cookie里的token联动。你光拿Cookie里的值去拼请求,照样被拒。这时候得逆向JS,找到生成逻辑。别慌,大多数场景用不到这层,普通数据抓取靠Cookie里的sessionid就够。
提取出来之后怎么验证?别直接跑大批量请求。先拿一个低频率接口试水,比如获取用户基本信息,间隔3秒一次,连续跑十次。如果中途出现{ "status_code": 2}或者提示登录过期,那就是token被识破了,得换新的。如果稳定返回JSON,再逐步加大频率。
最后提醒一句:抖音的风控会记录设备指纹和IP行为。就算token正确,换个不常用的IP去请求,照样可能触发滑块验证。所以别光盯着Cookie提取,配合稳定的住宅IP和合理的请求间隔,token才能用的久一点。