social-auto-upload 只需登录一次:Cookie 持久化机制与免重复扫码指南
【免费下载链接】social-auto-upload自动化上传视频到社交媒体:抖音、小红书、视频号、tiktok、youtube、bilibili项目地址: https://gitcode.com/GitHub_Trending/so/social-auto-upload
social-auto-upload 是一款把视频自动分发到抖音、小红书、视频号、TikTok、B站等平台的开源上传工具。它最头疼的地方是"每次上传都要重新扫码登录",而它的 Cookie 持久化机制让你只需登录一次,后续上传长期复用登录态,彻底告别反复扫码。
原理速览:Cookie 为什么能存成 JSON
把它想成门禁卡。你刷卡进一次门,物业就把你记进白名单,之后每次路过闸机直接放行。Cookie 就是这张"白名单记录",里面存着平台认你为已登录的那串凭证。Playwright 浏览器框架能把这串凭证完整导出成一个 JSON 文件,下次上传再读回来,网页里你还是"已登录"的状态——这就是 social-auto-upload Cookie持久化的底层逻辑。
登录态存在哪里:文件位置与命名规则
项目启动时会自动创建cookies目录,每个平台一个独立子目录,文件统一叫account.json,天然实现多平台隔离:
- 抖音:
cookies/douyin_uploader/account.json - 小红书:
cookies/xiaohongshu_uploader/account.json - 快手:
cookies/ks_uploader/ - TikTok:
cookies/tk_uploader/account.json
登录完成后,代码把浏览器上下文原封不动写进文件:
await context.storage_state(path=cookies_dir / f"{uuid_v1}.json") result = await check_cookie(3, f"{uuid_v1}.json")用 UUID 当文件名,保证每次登录记录互不覆盖;写完立刻调一次校验函数,不合格直接回滚。相关实现可以看 myUtils/login.py。
上传前怎么确认 Cookie 还有效
你点"上传"时,工具不会盲目开工,而是先起一个无头浏览器,把刚存的 JSON 塞回上下文,再打开对应创作者中心页面,盯 5 秒看会不会被踢回登录页:
- 抖音:盯
creator.douyin.com上传页,5 秒内出现"扫码登录"字样即判失效 - 小红书:盯
creator.xiaohongshu.com,页面残留"手机号登录"就算失效 - 快手、视频号:各自盯一个平台特有元素,逻辑相同
分发逻辑集中在 myUtils/auth.py 的check_cookie函数里,按平台类型路由到对应校验方法,方便后续扩新平台。
三个高频使用场景
多账号管理:同一平台挂多个账号时,用sau douyin login --account 账号名分别登录,工具会生成一一对应的douyin_账号名.json,互不干扰,切号只换文件名即可。
过期自动打开登录页:检测到 Cookie 失效后,TikTok 上传器会直接把浏览器弹出来让你扫码,扫完接着上传,不用手动跑脚本。
批量上传前置校验:一次要发几十条视频时,CLI 会先逐个账号跑一遍校验,遇到没登录的立刻报错,而不是传到一半才崩:
Douyin cookie is missing or expired: {account_file}. Run `sau douyin login --account {request.account_name}` first.看到这种提示,照着命令重登一次就行,不用翻日志猜原因。
收尾:Cookie 安全注意事项
- 备份好
cookies目录,文件丢了就得重新扫码 - 别把 JSON 文件发给别人,拿到它等于拿到你的登录态
- 出现"cookie 过期"提示就立刻重登,别硬跑
- 重要账号定期手动登录一次,确认状态健康
【免费下载链接】social-auto-upload自动化上传视频到社交媒体:抖音、小红书、视频号、tiktok、youtube、bilibili项目地址: https://gitcode.com/GitHub_Trending/so/social-auto-upload
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考