3 步搞定 B 站视频上传:social-auto-upload Bilibili 自动上传完整指南
【免费下载链接】social-auto-upload自动化上传视频到社交媒体:抖音、小红书、视频号、tiktok、youtube、bilibili项目地址: https://gitcode.com/GitHub_Trending/so/social-auto-upload
social-auto-upload 是一个覆盖抖音、小红书、视频号、TikTok、YouTube、Bilibili 的多平台一键发布视频工具。其中 Bilibili 上传由 bilibili_uploader 模块承担,底层调用开源的 biliup 工具,把"登录、配参数、发布"整条流程跑成自动化。
手动往 B 站传视频有多麻烦
发一条视频到 B 站:打开创作中心 → 传文件 → 填标题、简介、分区 → 加标签 → 挑封面 → 点发布。偶尔做一次还好。
可如果你隔几天就要更一次,这套动作就得原样重复;账号不止一个时,麻烦成倍放大。而且这些步骤都发生在网页上,想写成脚本复用并不容易。
为什么集成 biliup 而不是自研
做 Bilibili 自动上传,最棘手的部分不是"把文件传上去",而是登录态的维护和 B 站上传规则的变化,自研方案大多栽在这一步。
biliup 是专门做 B 站上传的开源工具,这些脏活它已经处理了很久。所以 bilibili_uploader 模块不重写协议逻辑,只负责一件事:把 biliup 调度好。
- 底层:biliup 负责登录态、上传请求和参数解析
- 上层:social-auto-upload 负责账号管理、参数配置和工作流编排
分工明确,底层升级后上层用法不用跟着变。
🚀 上手实操:B 站扫码登录 + 自动发布
第一步:扫码登录
在终端敲下:
sau biliup login屏幕里会出现一个二维码,用手机 B 站客户端扫一下就算登录了,登录态会存进账号文件,后面的上传直接复用。
第二步:配置上传参数
发布时你能指定的内容都摆在明面上:
--title/--desc:视频标题和简介--tid:B 站分区 ID--tags:标签,逗号分隔--thumbnail:封面图,可选--schedule:定时发布时间,可选
第三步:开始发布
指定视频文件和参数,剩下的交给程序。你把它写进脚本或工作流,就能做到无人值守自动发布,界面效果类似下图:
🔍 原理白话拆解:biliup 是怎么被调起来的
核心逻辑集中在 uploader/bilibili_uploader/runtime.py,拆开看就是四件事。
运行时管理
第一次使用,本地还没有 biliup。这个模块会自动判断你的操作系统和 CPU 架构(Windows、Mac、Linux 都支持),从 GitHub 下载对应的 release 包,放进用户目录下的工具目录里,非 Windows 系统还会顺手加上执行权限。
智能版本控制
每次执行先看本地:biliup 已存在且版本是最新,就直接用,不碰网络。只有缺失或版本过旧时,才去拉取最新 release。就算网络抖动连不上 GitHub,只要本地有能跑的 biliup,也照样回退到本地版本,而不是直接罢工。
命令封装与报错处理
所有调用走同一个入口:
result = run_biliup_command(["-u", str(account_file), "login"], interactive=True)login、renew(续期登录态)、upload 都从这一行发出。扫码这类交互命令保持终端直连,后台命令则捕获输出、检查退出码,失败时把错误原文抛给调用方,方便定位问题。
测试覆盖:运行时靠不靠谱
tests/test_bilibili_runtime.py 覆盖了二进制缺失时自动下载、本地版本最新则跳过网络请求、命令执行与交互模式等关键场景,网络错误、认证失败和版本兼容也都有对应用例,改动前后都能快速验证行为是否如预期。
还能补哪几块
- 把 B 站上传与抖音、小红书等平台串起来,一条视频多平台一键发
- 继续打磨上传流程,提升大文件场景下的成功率
- 错误诊断做得更直白,新手排障不再靠猜
【免费下载链接】social-auto-upload自动化上传视频到社交媒体:抖音、小红书、视频号、tiktok、youtube、bilibili项目地址: https://gitcode.com/GitHub_Trending/so/social-auto-upload
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考