抖音发布调度器 (DouyinScheduler)
一个用于自动化抖音视频发布的Python库,支持视频上传、内容编辑、商品挂载、定时发布等功能。
功能特性
- 🎥 视频上传: 自动上传视频文件
- ✏️ 内容编辑: 设置标题、描述等内容信息
- 🛍️ 商品挂载: 支持团购商品挂载
- ⏰ 定时发布: 设置定时发布时间
- 🔄 批量操作: 支持批量发布多个视频
- ⚙️ 配置管理: 灵活的配置文件支持
- 🛡️ 智能等待: 优化的等待机制,减少不必要的时间浪费
- 🌐 多浏览器: 支持Safari、Chrome、Firefox
项目结构
.
├── douyin_scheduler.py # 主调度器库
├── douyin_publisher.py # 原始脚本(参考用)
├── example_usage.py # 使用示例
├── config_example.json # 配置文件示例
├── cookies.json # 登录cookies(需要自己获取)
└── README.md # 说明文档
安装依赖
pip install selenium
快速开始
1. 准备cookies文件
首先需要获取登录状态的cookies:
- 手动登录抖音创作者中心
- 使用浏览器开发者工具导出cookies
- 保存为
cookies.json
文件
2. 基本使用
from douyin_scheduler import DouyinScheduler
# 创建调度器实例
scheduler = DouyinScheduler("cookies.json", "safari")
try:
# 发布视频
success = scheduler.publish_video_with_product(
video_path="/path/to/your/video.mp4",
title="你的视频标题",
description="你的视频描述 #标签1 #标签2"
)
if success:
print("发布成功!")
else:
print("发布失败!")
finally:
scheduler.close()
3. 高级功能
带商品发布
success = scheduler.publish_video_with_product(
video_path="/path/to/your/video.mp4",
title="商品推广视频",
description="精彩内容描述 #商品推广",
product_name="商品名称",
product_info="商品详细信息"
)
定时发布
success = scheduler.publish_video_with_product(
video_path="/path/to/your/video.mp4",
title="定时发布视频",
description="定时发布内容",
schedule_time="2025-06-05 12:30" # 格式:YYYY-MM-DD HH:MM
)
完整功能组合
success = scheduler.publish_video_with_product(
video_path="/path/to/your/video.mp4",
title="完整功能演示",
description="包含所有功能的完整示例 #演示 #测试",
product_name="测试商品",
product_info="测试商品信息",
schedule_time="2025-06-05 15:00"
)
模块说明
DouyinScheduler (主调度器)
- 统一的入口点,协调各个子模块
- 管理浏览器驱动和cookies
- 提供完整的发布流程
VideoUploader (视频上传模块)
- 处理视频文件上传
- 智能等待上传完成
- 支持上传状态检测
ContentEditor (内容编辑模块)
- 设置视频标题
- 设置视频描述
- 支持内容验证
ProductLinker (商品挂载模块)
- 选择团购类型
- 搜索和选择商品
- 设置商品信息
ScheduleManager (定时管理模块)
- 选择定时发布选项
- 设置发布时间
- 支持时间格式验证
DouyinUtils (工具类)
- 智能等待机制
- 安全的元素操作
- 通用的辅助方法
配置文件
使用 config_example.json
作为模板创建自己的配置文件:
{
"browser": {
"type": "safari",
"timeout": 30
},
"cookies": {
"path": "cookies.json"
},
"content": {
"default_hashtags": ["#抖音", "#分享生活"],
"title_max_length": 55
}
}
使用示例
运行示例脚本查看各种使用场景:
python example_usage.py
示例包括:
- 基本视频发布
- 带商品视频发布
- 定时发布
- 批量发布
- 使用配置文件
- 交互式发布
优化特性
智能等待机制
- 使用
WebDriverWait
替代固定的time.sleep
- 动态检测页面元素状态
- 减少不必要的等待时间
错误处理
- 完善的异常捕获和处理
- 详细的错误日志输出
- 失败重试机制
模块化设计
- 功能模块独立,便于维护
- 支持扩展新功能
- 代码复用性高
注意事项
- Cookies有效性: 请确保cookies文件是有效的登录状态
- 元素定位: 网页结构可能变化,需要及时更新XPath选择器
- 上传限制: 注意视频文件大小和格式限制
- 频率控制: 避免频繁操作,可能触发平台限制
- 浏览器兼容: 确保安装了对应的浏览器驱动
常见问题
Q: 如何获取cookies文件?
A: 登录抖音创作者中心后,使用浏览器开发者工具导出cookies,保存为JSON格式。
Q: 视频上传失败怎么办?
A: 检查视频文件路径、格式和大小,确保符合平台要求。
Q: 元素定位失败怎么办?
A: 网页结构可能已更新,需要重新获取元素的XPath选择器。
Q: 支持哪些浏览器?
A: 目前支持Safari、Chrome、Firefox,推荐使用Safari。
开发计划
- 支持图文发布
- 添加视频编辑功能
- 支持更多商品类型
- 添加发布数据统计
- 优化错误处理机制
- 支持多账号管理
贡献
欢迎提交Issue和Pull Request来改进这个项目!
免责声明
本工具仅用于学习和个人使用,请遵守抖音平台的使用条款和相关法律法规。
Description
Languages
Python
100%