🚀 解放双手!开源多平台自媒体发布工具MediaPublishPlatform:一键发布到小红书、抖音、Tiktok等9大平台
-
- [✨ 前言](#✨ 前言)
- [🔥 项目简介](#🔥 项目简介)
- [🎯 核心功能亮点](#🎯 核心功能亮点)
-
- [1. 📱 九大平台全覆盖](#1. 📱 九大平台全覆盖)
- [2. ⚡ 一键批量发布](#2. ⚡ 一键批量发布)
- [3. ⏰ 智能定时发布](#3. ⏰ 智能定时发布)
- [4. 🔐 统一账号管理](#4. 🔐 统一账号管理)
- [5. 📊 发布记录追踪](#5. 📊 发布记录追踪)
- [🎨 功能演示](#🎨 功能演示)
- [🛠️ 技术栈解析](#🛠️ 技术栈解析)
- [🚀 快速开始](#🚀 快速开始)
- [💡 技术实现亮点](#💡 技术实现亮点)
-
- [1. 统一登录与验证系统](#1. 统一登录与验证系统)
- [2. 多平台统一上传架构](#2. 多平台统一上传架构)
- [3. 灵活的配置系统](#3. 灵活的配置系统)
- [📈 项目优势对比](#📈 项目优势对比)
- [🎯 适用场景](#🎯 适用场景)
-
- [1. 个人自媒体创作者](#1. 个人自媒体创作者)
- [2. 短视频团队](#2. 短视频团队)
- [3. 跨境电商运营](#3. 跨境电商运营)
- [4. 开发者学习](#4. 开发者学习)
- [🔧 API接口丰富](#🔧 API接口丰富)
- [🚢 部署方案](#🚢 部署方案)
- [❓ 常见问题](#❓ 常见问题)
- [🤝 欢迎贡献](#🤝 欢迎贡献)
- [📄 开源协议](#📄 开源协议)
- [💝 支持项目](#💝 支持项目)
- [🎉 结语(附GitHub地址和源码)](#🎉 结语(附GitHub地址和源码))
告别重复劳动,让内容发布自动化!基于Python+Playwright+Vue3的跨平台解决方案
✨ 前言
作为内容创作者或自媒体运营者,你是否经常遇到这样的烦恼?
- 📱 同一个视频需要手动发布到小红书、抖音、B站、视频号、Tiktok... 重复操作N遍
- ⏰ 想要在最佳时间发布,但总不能半夜爬起来操作
- 🔐 多个平台账号管理混乱,Cookie过期了都不知道
- 📊 发布记录分散,数据统计困难
如果你也有这些痛点,那么今天介绍的这个开源项目**MediaPublishPlatform(MPP)** 将是你的救星!
🔥 项目简介
MediaPublishPlatform(MPP) 是一个功能强大的自媒体发布平台,支持9大主流平台 的图文和视频内容的批量上传 与定时发布,帮助内容创作者实现多平台自动化运营。
🎯 核心功能亮点
1. 📱 九大平台全覆盖
- 国内平台:小红书、抖音、快手、B站、百家号、腾讯视频号
- 海外平台:TikTok、Instagram、Facebook
- 新版统一支持:所有平台都基于新版架构,体验一致
2. ⚡ 一键批量发布
- 选择多个视频/图片文件
- 勾选多个目标平台
- 点击一键发布,系统自动完成所有操作
- 支持多账号轮换,避免单个账号发布频率过高
3. ⏰ 智能定时发布
- 自定义发布时间,精确到分钟
- 批量设置发布计划
- 自动计算最佳发布时间间隔
- 无人值守,自动执行
4. 🔐 统一账号管理
- 集中管理所有平台账号
- 自动Cookie管理,过期自动提醒
- 可视化登录流程
- 账号状态实时监控
5. 📊 发布记录追踪
- 完整的发布历史记录
- 成功/失败状态清晰标记
- 详细的错误信息反馈
- 平台发布统计数据
🎨 功能演示
管理界面
-
账号管理界面 :

-
发布中心:

- 发布记录 :

平台发布效果展示
演示文件有点大,博客里面装不下。
有兴趣可以进https://github.com/funfan0517/MediaPublishPlatform 中观看。

🛠️ 技术栈解析
后端技术
- Python 3.10+:主力开发语言
- Flask 2.0+:轻量级Web框架
- Playwright 1.30+:新一代浏览器自动化工具(比Selenium更快更稳定)
- SQLite 3:轻量级数据库
- asyncio:异步任务处理
前端技术
- Vue 3:现代化前端框架
- Element Plus:优雅的UI组件库
- Vite 6.4+:极速构建工具
- Pinia:状态管理
为什么选择Playwright?
- 🔧 更好的跨浏览器支持:Chromium、Firefox、WebKit
- ⚡ 执行速度更快:相比Selenium有明显优势
- 🎯 更稳定的选择器:内置等待机制,减少元素定位失败
- 📦 自动下载驱动:无需手动管理浏览器驱动
🚀 快速开始
环境要求
- Python 3.10+
- Node.js 18+
- Chrome浏览器
5分钟快速部署
bash
# 1. 克隆项目
git clone https://github.com/funfan0517/MediaPublishPlatform.git
cd MediaPublishPlatform
# 2. 安装Python依赖
python -m venv venv
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate
pip install -r requirements.txt
# 3. 安装Playwright浏览器
playwright install chromium
# 4. 初始化数据库
python db/createTable.py
# 5. 启动后端
cd sau_backend
python sau_backend.py
# 后端服务运行在 http://localhost:5409
# 6. 启动前端(新终端)
cd ../sau_frontend
npm install
npm run dev
# 前端运行在 http://localhost:5173
Windows用户更简单 :直接运行项目根目录的 start-win.bat 一键启动!
💡 技术实现亮点
1. 统一登录与验证系统
python
# 统一登录逻辑 - 自动处理Cookie保存和验证
class UnifiedLoginSystem:
def login(self, platform_type, username):
# 1. 根据平台类型获取配置
# 2. 启动Playwright浏览器
# 3. 导航到登录页面
# 4. 实时返回登录状态(二维码/登录链接)
# 5. 登录成功后自动保存Cookie
# 6. 账号信息入库,标记为有效状态
2. 多平台统一上传架构
python
# 基类定义统一的发布接口
class BaseFileUploader:
async def upload(self, file_path, title, content, tags=None):
# 统一的发布流程
# 1. 启动浏览器,加载Cookie
# 2. 导航到发布页面
# 3. 填充标题、正文、标签
# 4. 上传媒体文件
# 5. 设置封面(如支持)
# 6. 执行发布操作
# 7. 验证发布结果
3. 灵活的配置系统
新增平台支持只需修改一个配置文件:
python
# sau_backend/newFileUpload/platform_configs.py
"new_platform": {
"type": 10,
"platform_name": "new_platform",
"login_url": "https://new.com/login",
"creator_video_url": "https://new.com/upload",
"selectors": {
"upload_button": ['button:has-text("上传")'],
"publish_button": ['button:has-text("发布")'],
},
"features": {
"image_publish": True,
"title": True,
"schedule": True
}
}
📈 项目优势对比
| 特性 | MPP | 其他类似工具 |
|---|---|---|
| 平台数量 | ✅ 9大平台 | ❌ 通常2-3个 |
| 一键多平台 | ✅ 支持 | ❌ 很少支持 |
| 定时发布 | ✅ 精确到分钟 | ⚠️ 部分支持 |
| 统一账号管理 | ✅ 可视化界面 | ❌ 手动管理 |
| 开源免费 | ✅ MIT协议 | ⚠️ 部分收费 |
| 扩展性 | ✅ 配置化扩展 | ❌ 需要改代码 |
🎯 适用场景
1. 个人自媒体创作者
- 减少重复发布工作,节省时间
- 合理安排发布时间,提高曝光
- 多平台数据统一管理
2. 短视频团队
- 批量处理素材发布
- 多账号轮换发布
- 发布计划协同管理
3. 跨境电商运营
- TikTok+Instagram+Facebook跨平台发布
- 多语言内容统一管理
- 时区智能定时发布
4. 开发者学习
- 学习Playwright自动化技术
- 了解多平台API集成
- 参考Flask+Vue3全栈项目架构
🔧 API接口丰富
项目提供了完整的RESTful API,方便二次开发:
python
# 一键发布多个视频到多个平台
POST /postVideosToMultiplePlatforms
{
"files": ["video1.mp4", "video2.mp4"],
"platforms": ["douyin", "xiaohongshu", "bilibili"],
"title": "视频标题",
"content": "视频描述",
"schedule_time": "2024-01-20 18:00:00"
}
# 获取发布记录
GET /getPublishTaskRecords?page=1&page_size=20
# 平台统计数据
GET /getPlatformStats
🚢 部署方案
方案一:本地开发(推荐初学者)
按照上面的快速开始步骤即可
方案二:Docker部署(适合生产)
bash
# 构建镜像
docker build -t mpp .
# 运行容器
docker run -d -p 5409:5409 -p 5173:5173 --name mpp mpp
方案三:云服务器部署
nginx
# Nginx配置示例
server {
listen 80;
server_name your-domain.com;
location / {
root /path/to/dist;
index index.html;
try_files $uri $uri/ /index.html;
}
location /api {
proxy_pass http://localhost:5409;
}
}
❓ 常见问题
Q:Cookie过期了怎么办?
A:系统会自动检测,在账号管理页面点击「重新登录」即可更新。
Q:发布失败如何排查?
A:查看发布记录的详细错误信息,通常是网络问题或平台限制。
Q:如何添加新平台?
A:只需修改 platform_configs.py 配置文件,无需改动核心代码。
Q:支持多用户吗?
A:当前版本为单用户,多用户功能在规划中。
🤝 欢迎贡献
这是一个活跃的开源项目,欢迎各种形式的贡献:
- 🐛 报告Bug:提交Issue
- 💡 新功能建议:讨论区交流
- 🔧 代码贡献:提交Pull Request
- 📚 文档改进:完善使用文档
- 🌍 平台扩展:添加更多平台支持
贡献流程:
- Fork 仓库
- 创建功能分支
- 提交代码
- 发起Pull Request
📄 开源协议
本项目基于 MIT 协议 开源,可以自由使用、修改和分发。
💝 支持项目
这个项目是我利用业余时间开发和维护的,旨在帮助更多开发者解决多平台发布难题。如果项目对你有帮助:
- 给个Star⭐:这是对我最大的鼓励!
- 分享给朋友:让更多人受益
- 反馈和建议:帮助项目变得更好
- 赞助支持:支持服务器费用和持续开发(项目主页有赞助方式)
🎉 结语(附GitHub地址和源码)
MPP自媒体发布平台真正实现了一次创作,多平台分发的自动化流程。无论你是个人创作者还是团队运营,这个工具都能显著提升你的工作效率。
GitHub地址 :👉 https://github.com/funfan0517/MediaPublishPlatform 👈
如果项目对你有帮助,请务必:
- ⭐ Star收藏项目
- 🔄 分享给需要的朋友
- 🐛 提交Issue反馈问题
- 💬 讨论区交流使用经验
有任何问题或建议,欢迎在GitHub Issues中讨论!让我们一起打造更好用的自媒体工具! 🚀
相关标签 :#Python #Playwright #自媒体工具 #自动化 #开源项目 #Vue3 #Flask #内容发布 #多平台管理