Skip to content

fqscfqj/acfun-uploader-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎬 AcFun 命令行投稿工具

现代化的 AcFun 视频投稿命令行工具,支持 Cookie 复用,告别重复登录!

Python License Platform

✨ 特性

  • 🚀 现代化架构 - 纯 Python 原生库,轻量级无冗余依赖
  • 🍪 智能 Cookie 管理 - 类似 yt-dlp 的 Cookie 机制,支持浏览器导出格式
  • 即开即用 - 无需安装,直接运行脚本
  • 🔐 智能登录 - 优先使用 Cookie,失效时自动提示密码登录
  • 📝 完整功能 - 支持视频、封面、标题、简介、标签、频道等全部投稿参数
  • 🛡️ 稳定上传 - 完善的错误处理和网络重试机制
  • 🔧 批量处理 - 支持批量上传多个视频

📋 环境要求

  • Python: 3.7 或更高版本
  • 系统: Windows / Linux / macOS
  • 网络: 稳定的互联网连接

🚀 快速开始

1. 克隆项目

git clone https://github.com/fqscfqj/acfun-uploader-cli.git
cd acfun-uploader-cli

2. 安装依赖

pip install -r requirements.txt

3. 开始使用

# 首次使用 - 会提示输入用户名密码
python acfun_cli.py video.mp4 -c cover.png -t "我的第一个视频" --cid 63

# 后续使用 - 自动使用保存的 Cookie
python acfun_cli.py video2.mp4 -c cover2.png -t "我的第二个视频" --cid 63

📖 使用指南

基本语法

python acfun_cli.py <视频文件> -c <封面图片> -t <标题> --cid <频道ID> [其他选项]

完整示例

python acfun_cli.py gameplay.mp4 \
  --cover thumbnail.png \
  --title "【原神】新角色试玩体验" \
  --cid 63 \
  --desc "今天来试玩一下新出的角色,感觉还不错!" \
  --tags "原神" "游戏" "试玩" \
  --type 3

🔧 命令行参数

必需参数

参数 说明 示例
file_path 视频文件路径 video.mp4
-c, --cover 封面图片路径 -c cover.png
-t, --title 视频标题 -t "我的视频"
--cid 频道ID --cid 63

可选参数

参数 说明 默认值 示例
-d, --desc 视频简介 -d "视频描述"
--tags 标签列表 --tags "游戏" "实况"
--type 创作类型 3 (原创) --type 1 (转载)
--original_url 转载来源 --original_url "https://..."
-u, --username 用户名 自动提示 -u "myusername"
-p, --password 密码 安全输入 -p "mypassword"
--cookie_file Cookie文件路径 cookies/ac_cookies.txt --cookie_file "my.txt"

频道ID参考

频道 ID 频道 ID
🎮 游戏 63 📺 动画 1
🎵 音乐 58 🎭 娱乐 164
🏠 生活 73 🎨 绘画 75
🍳 美食 76 🐾 动物 77

💡 更多频道ID请查看 CHANNELS.md 或 AcFun 官方投稿页面

🍪 Cookie 管理

自动Cookie管理

程序会自动管理Cookie,实现以下流程:

graph TD
    A[启动程序] --> B{检查Cookie文件}
    B -->|存在| C[加载Cookie]
    B -->|不存在| D[提示登录]
    C --> E{验证Cookie}
    E -->|有效| F[开始上传]
    E -->|无效| D
    D --> G[用户名密码登录]
    G --> H[保存新Cookie]
    H --> F
Loading

支持的Cookie格式

1. Netscape格式(推荐)

从浏览器导出的标准格式,兼容性最好:

# Netscape HTTP Cookie File
.acfun.cn	TRUE	/	FALSE	1640995200	token	your_token_here

2. JSON格式

程序自动保存的格式:

[
  {
    "name": "token",
    "value": "your_token_here",
    "domain": ".acfun.cn",
    "path": "/"
  }
]

从浏览器导出Cookie

Chrome/Edge

  1. 安装 Get cookies.txt LOCALLY 扩展
  2. 访问 AcFun 并登录
  3. 点击扩展图标,选择 "Export" → "Netscape format"
  4. 保存为 cookies/ac_cookies.txt

Firefox

  1. 安装 cookies.txt 扩展
  2. 访问 AcFun 并登录
  3. 点击扩展图标导出Cookie
  4. 保存为 cookies/ac_cookies.txt

📁 项目结构

acfun_upload/
├── 📄 acfun_cli.py          # 主程序脚本
├── 📄 example.py            # 使用示例
├── 📄 batch_upload.py       # 批量上传工具
├── 📁 cookies/              # Cookie存储目录
│   └── 📄 ac_cookies.txt    # Cookie文件(自动生成)
├── 📁 uploads/              # 上传文件目录(可选)
├── 📄 requirements.txt      # 依赖列表
├── 📄 .gitignore           # Git忽略文件
├── 📄 README.md            # 项目说明
└── 📄 LICENSE              # 开源协议

🔨 高级用法

批量上传

使用提供的批量上传脚本:

python batch_upload.py

或者自定义批量脚本:

#!/bin/bash
for video in videos/*.mp4; do
    cover="${video%.mp4}.png"
    title=$(basename "$video" .mp4)
    python acfun_cli.py "$video" -c "$cover" -t "$title" --cid 63
    sleep 10  # 避免请求过快
done

使用配置文件

创建 config.json 文件:

{
    "channel_id": 63,
    "tags": ["游戏", "实况"],
    "type": 3,
    "cookie_file": "cookies/my_cookies.txt"
}

环境变量

支持通过环境变量设置默认值:

export ACFUN_USERNAME="your_username"
export ACFUN_CHANNEL_ID="63"
python acfun_cli.py video.mp4 -c cover.png -t "标题"

🛠️ 故障排除

常见问题

❌ Cookie失效

症状: 提示登录失败或认证错误 解决方案:

# 删除旧Cookie文件
rm cookies/ac_cookies.txt
# 重新运行程序
python acfun_cli.py video.mp4 -c cover.png -t "标题" --cid 63

❌ 上传失败

症状: 网络错误或上传中断 解决方案:

  1. 检查网络连接稳定性
  2. 确认视频格式支持(MP4推荐)
  3. 检查文件大小限制
  4. 尝试更换网络环境

❌ SSL错误

症状: SSLError 或证书验证失败 解决方案:

# 程序会自动重试并跳过SSL验证
# 或者手动设置环境变量
export PYTHONHTTPSVERIFY=0
python acfun_cli.py video.mp4 -c cover.png -t "标题" --cid 63

❌ 依赖问题

症状: 模块导入错误 解决方案:

# 使用虚拟环境
python -m venv venv
# Windows
venv\Scripts\activate
# Linux/macOS
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt

调试模式

添加详细日志输出:

python -u acfun_cli.py video.mp4 -c cover.png -t "标题" --cid 63 2>&1 | tee upload.log

开发环境设置

git clone https://github.com/fqscfqj/acfun-uploader-cli.git
cd acfun-uploader-cli
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt

📄 许可证

本项目采用 GNU General Public License v3.0 开源协议。

About

AcFun 命令行投稿工具

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages