使用TikTokApi调用trending接口时触发ttwid的KeyError问题求助
TikTokApi KeyError: 'ttwid' 问题排查与解决
这个错误的核心原因是TikTokApi初始化时未能成功获取TikTok的ttwid Cookie——这是TikTok接口验证必需的身份标识Cookie,缺失会导致请求失败。以下是具体排查方向和解决办法:
原因1:初始化方式过时
官方旧示例代码已不再适配新版本TikTokApi,新版需要依赖浏览器驱动(如Playwright)来自动获取Cookie。
- 解决步骤:
- 安装依赖:
pip install playwright playwright install chromium - 修改代码为新版初始化方式:
from TikTokApi import TikTokApi from playwright.sync_api import sync_playwright with sync_playwright() as p: browser = p.chromium.launch(headless=False) api = TikTokApi(playwright_browser=browser) for video in api.trending.videos(): print(video.as_dict) browser.close()
- 安装依赖:
原因2:网络访问限制
TikTok对非服务地区IP做了拦截,无法正常访问时会导致Cookie获取失败。
- 解决:初始化API时配置代理:
api = TikTokApi(playwright_browser=browser, proxy="http://你的代理地址:端口")
原因3:版本兼容性问题
你使用的TikTokApi版本可能存在Bug,或与当前Python版本不兼容。
- 解决:更新到最新版本:
pip install --upgrade TikTokApi
原因4:手动注入Cookie(兜底方案)
如果上述方法无效,可手动从TikTok网页版获取ttwid Cookie后注入:
- 打开TikTok网页版,登录后按F12打开开发者工具,在
Application标签下找到Cookies中的ttwid值; - 修改代码:
from TikTokApi import TikTokApi api = TikTokApi(cookies={"ttwid": "你的ttwid值"}) for video in api.trending.videos(): print(video.as_dict)
内容的提问来源于stack exchange,提问作者Zen35X
相关产品推荐
相关产品推荐

