news 2026/9/11 4:12:08

登录一次就能一直发视频:social-auto-upload Cookie 持久化原理与多账号实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
登录一次就能一直发视频:social-auto-upload Cookie 持久化原理与多账号实战指南

登录一次就能一直发视频:social-auto-upload Cookie 持久化原理与多账号实战指南

【免费下载链接】social-auto-upload自动化上传视频到社交媒体:抖音、小红书、视频号、tiktok、youtube、bilibili项目地址: https://gitcode.com/GitHub_Trending/so/social-auto-upload

每次发视频都要扫码登录抖音、小红书、视频号的创作者后台,是多平台视频自动上传里最磨人的环节。social-auto-upload 用 Cookie 持久化解决了它:扫码一次,登录态就存成本地 JSON 文件,之后上传前自动校验、失效才重新登录。下面把存储、安检、日常使用串成一条完整链路讲清楚。

登录一次长期发视频:解决的是什么痛点

手动多平台分发像跑配送单:每到一家平台,都得先"刷脸"。用脚本做视频自动上传时更尴尬——脚本替你点不动"扫码"那个按钮,流程每次都卡在登录页。

social-auto-upload 的思路很直白:把浏览器的登录态(Cookie)当成一张"门卡",进门时复制一份收进文件,之后每次要开平台页面就先"读卡"。这就是 Cookie 持久化的全部含义,也是它能免人工值守的基础。

登录态是怎么保存的:一张 JSON 门卡

先说结论:存下来的不是一行密码,而是浏览器状态的完整快照,落成 JSON 文件。

以 myUtils/login.py 的登录流程为例:工具拉起浏览器打开平台创作者页,等你手动扫码(最多等约 200 秒);页面一跳转就说明登录成功,紧接着用一行代码把浏览器上下文写盘:

await context.storage_state(path=cookies_dir / f"{uuid_v1}.json")

Playwright 的storage_state()吐出的,就是各域名下登录凭证的 name=value 对加少量存储数据——本质上和浏览器插件里"导出 Cookie 为 JSON"是同一份东西。选 JSON 的原因是浏览器原生认这个格式:下次"免登"时把它交给一个全新浏览器即可,不需要再碰账号密码。

文件放在哪?三个入口各有约定,但都是一个账号一份文件、平台互不干扰:

  • 命令行saucookies/{平台}_{账号名}.json,如cookies/douyin_myaccount1.json(见 sau_cli.py 的resolve_account_file);
  • examples/ 下示例脚本用cookies/{平台}_uploader/account.json,如 examples/get_douyin_cookie.py 里的cookies/douyin_uploader/account.json
  • Web 后端在cookiesFile/下按 UUID 命名,并把"平台、文件、账号名"登记进本地 SQLite 库(表结构见 db/createTable.py)。

门卡存好了,但卡会过期——怎么知道它还能用?

上传前自动安检:工具如何判断登录态是否有效

所以每次上传前,工具都会做一次"安检":拿 JSON 文件新建一个全新浏览器上下文(等于浏览器自动完成登录),打开平台发布页,等 5 秒看自己有没有被弹回登录界面。

核心逻辑在 myUtils/auth.py 的check_cookie函数里按平台分发,各平台只差"盯哪个元素"。以抖音为例:

await page.goto("https://creator.douyin.com/creator-micro/content/upload") try: await page.get_by_text("扫码登录").wait_for(timeout=5000) return False # 出现"扫码登录" → cookie 失效 except: return True # 没出现 → 登录态有效

5 秒后还停在发布页就放行,被弹去扫码页说明已失效。小红书盯"手机号登录"、视频号盯"微信小店"、快手盯"机构服务",原理相同。

还有两个细节:登录流程(myUtils/login.py)在文件落盘后会立即跑一次check_cookie,验证通过才回报"登录成功",避免存下来其实已失效;上传前校验不通过时,命令行会直接给出可执行的提示,例如Douyin cookie is missing or expired: ... Run sau douyin login --account xxx first.——照着重跑登录命令即可。

原理讲完,来看实际操作。

social-auto-upload 登录实战:怎么登录、多账号怎么区分

登录就是一条命令,以抖音为例:

sau douyin login --account myaccount1 sau douyin login --account myaccount2

执行后浏览器打开,扫码即可。完成后工具自动写好cookies/douyin_myaccount1.jsoncookies/douyin_myaccount2.json,多账号上传就是这么朴素:上传时--account指定用哪个账号,工具自动找对应文件。快手、小红书同理,全部命令见 docs/CLI.md。

B 站略不同,不需要浏览器,直接在终端画出二维码,扫码后登录态就写进文件:

另外每个平台都有check子命令(如sau douyin check --account xxx),可以主动确认门卡是否有效,不必等上传时才发现。

日常使用注意三点:

  • 🔒 JSON 等价于该平台的账号密码,别发给别人、别提交进公开仓库;
  • 建议定期备份cookies/目录,文件丢了只能重新登录;
  • 同平台换号用不同的--account命名,别覆盖旧文件。

命令跑通了,剩下都是使用中的常见问题。

常见问题 FAQ

问:cookie 过期了怎么办?各平台有效期不一,工具不承诺永久有效。看到 "cookie missing or expired" 提示后,重跑对应平台的login命令即可,新文件会覆盖旧的,后续上传自动使用新登录态。

问:cookie 文件丢了,要重新登录吗?要。这份 JSON 是免登的唯一凭据,工具无法凭空恢复登录态,只能重新扫码,所以才有备份建议。文件是纯文本,可以直接打开预览,内容就是一组 name=value 的凭证对:

问:不同平台、不同入口的路径为什么不一样?CLI、examples、Web 三套约定对应不同场景(CLI 靠文件名区分账号,Web 用 UUID 防冲突),但文件内容都是同一份storage_stateJSON,懂一套就都懂。

问:A 机器登录的,B 机器能用吗?能。把 JSON 拷到 B 机器的对应路径(装好依赖)即可。传输时留意权限——这是一张能进你账号的门卡。

问:为什么第一次必须扫码?扫码是"拿到门卡"的动作,持久化机制是"之后不用再扫"。没扫过码,就没有卡可存。

最后三条实用提醒收个尾:

  1. 新平台先跑一次sau {平台} login --account {名字},随后把 JSON 备份一份;
  2. 上传报 "cookie missing or expired" 时不用查源码,重跑登录命令即可继续;
  3. 多账号、多平台上传时按"平台_账号名"区分文件命名,出问题时一眼能找到该看哪张门卡。

【免费下载链接】social-auto-upload自动化上传视频到社交媒体:抖音、小红书、视频号、tiktok、youtube、bilibili项目地址: https://gitcode.com/GitHub_Trending/so/social-auto-upload

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 4:09:46

软件生命周期与过程模型:系统分析师视角的实战拆解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/11 4:09:15

C#上位机高并发数据采集与UI解耦实战

1. 这不是“又一个C#教学视频”,而是上位机开发者的实战生存指南 你点开过多少个标着“C#上位机.NET教学视频”的链接?前3分钟讲Hello World,中间20分钟拖控件、改颜色、加按钮,最后5分钟说“完整源码已打包,评论区领取…

作者头像 李华
网站建设 2026/9/11 4:07:30

200 个机器人实时仿真,MuJoCo 分布式并行怎么搭

200 个机器人实时仿真,MuJoCo 分布式并行怎么搭 【免费下载链接】mujoco Multi-Joint dynamics with Contact. A general purpose physics simulator. 项目地址: https://gitcode.com/GitHub_Trending/mu/mujoco 跑 MuJoCo 的时候,你有没有过这种…

作者头像 李华
网站建设 2026/9/11 4:06:31

YOLO目标检测实战:从归一化坐标到工业部署的七道关卡

1. 这不是“又一篇YOLO科普”,而是你真正能上手的检测逻辑拆解 我带过三届AI方向的实习生,每年第一课都问同一个问题:“YOLO到底在干什么?”90%的人会背出“You Only Look Once”,剩下10%翻出PPT念“单阶段目标检测算法…

作者头像 李华
网站建设 2026/9/11 4:06:26

10秒视频克隆你的专属数字人:Duix.Avatar本地部署实战

10秒视频克隆你的专属数字人:Duix.Avatar本地部署实战 【免费下载链接】Duix-Avatar 🚀 Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning. 项目地址: https://gitcode.com/GitHub_Trendi…

作者头像 李华