YouTube to Ebook 项目评测报告
🏆 核心结论(先看这里!)
推荐指数:⭐⭐⭐⭐ (4/5)
一句话总结
将YouTube频道视频转换为EPUB电子书,289 stars,自动获取字幕+Claude AI改写+定期推送,适合知识管理。
核心价值
✅ 碎片转系统 - 将零散视频转为系统化阅读材料
✅ 批量自动化 - 多频道聚合+Mac定时任务+邮件推送
✅ AI增强 - Claude改写成杂志风格文章,提升可读性
✅ 本地运行 - 完全开源,数据隐私,无云依赖
✅ 移动友好 - EPUB格式,任何设备可阅读
📸 产品展示
核心工作流
┌─────────────┐ ┌──────────────┐ ┌───────────────┐ ┌────────────┐
│ 获取视频 │───▶│ 提取字幕 │───▶│ 生成文章 │───▶│ 制作 EPUB │
│(YouTube API)│ │(Transcript API)│ │ (Claude AI) │ │ (ebooklib) │
└─────────────┘ └──────────────┘ └───────────────┘ └────────────┘功能模块
| 模块 | 功能 |
|---|---|
| 视频获取 | 自动过滤Shorts,时间顺序保证 |
| 字幕提取 | 支持多语言,速率限制处理 |
| AI生成 | Claude改写,杂志风格,修正拼写 |
| EPUB制作 | 清晰排版,移动友好,含原链接 |
| 邮件推送 | Gmail自动发送到邮箱 |
| Web仪表盘 | Streamlit界面友好管理 |
📌 基本信息
| 项目 | 信息 |
|---|---|
| GitHub | https://github.com/zarazhangrui/youtube-to-ebook |
| Stars | 289 |
| Forks | 63 |
| License | MIT |
| 语言 | Python 98.7% |
| 作者 | zarazhangrui (Zara Zhang) |
| 分类 | ai-tools |
| 创建时间 | - |
| 最新更新 | 2026-03-19 |
🎯 核心特性
1. 📺 视频获取
python
# 自动过滤 Shorts
def is_youtube_short(video_id):
shorts_url = f"https://www.youtube.com/shorts/{video_id}"
response = requests.head(shorts_url, allow_redirects=True, timeout=5)
return "/shorts/" in response.url
# 使用 uploads playlist 保证时间顺序
channel_info = youtube.channels().list(
part="contentDetails",
forHandle=handle
).execute()
uploads_playlist_id = channel_info["items"][0]["contentDetails"]["relatedPlaylists"]["uploads"]2. 📝 字幕提取
python
from youtube_transcript_api import YouTubeTranscriptApi
ytt_api = YouTubeTranscriptApi()
transcript = ytt_api.fetch(video_id)
# 速率限制处理
import time
for video in videos:
transcript = get_transcript(video["video_id"])
time.sleep(2) # 2秒延迟避免封禁3. ✍️ AI文章生成
输入:
├── 视频字幕 (transcript)
├── 视频标题 (title)
└── 视频描述 (description) → 修正人名/术语拼写
Claude 处理:
├── 理解内容逻辑
├── 重组文章结构
├── 添加小标题
├── 修正拼写错误
└── 生成杂志风格文章
输出:
└── 精美的杂志风格文章4. 📚 EPUB生成
EPUB 内容:
├── 目录 (所有文章)
├── 清晰的排版
├── 原视频链接
└── 移动端友好样式5. 📧 邮件推送(可选)
配置:
├── Gmail 地址
└── Gmail 应用密码
自动发送:
└── 将生成的 EPUB 发送到邮箱6. 🖥️ Web仪表盘(可选)
bash
# Streamlit 界面
pip install streamlit
python -m streamlit run dashboard.py🏗️ 技术架构
项目结构
youtube-to-ebook/
├── main.py # 主入口,运行完整流程
├── get_videos.py # 从 YouTube 获取视频
├── get_transcripts.py # 提取视频字幕
├── write_articles.py # Claude 转换为文章
├── send_email.py # 创建 EPUB & 发送邮件
├── dashboard.py # Streamlit Web 仪表盘
├── video_tracker.py # 追踪已处理视频
├── channels.txt # 频道列表
├── .env # API 密钥
├── newsletters/ # 生成的电子书存档
├── SKILL.md # Claude Skill 定义
├── run_newsletter.sh # 运行脚本
└── com.youtube.newsletter.plist # Mac 自动化配置技术栈
| 组件 | 技术 |
|---|---|
| 语言 | Python 3.8+ |
| YouTube API | google-api-python-client |
| 字幕提取 | youtube-transcript-api |
| AI 生成 | Anthropic Claude API |
| 电子书 | ebooklib |
| Web 界面 | Streamlit |
| 自动化 | launchd (Mac) |
| 邮件 | Gmail SMTP |
已知坑点与解决方案
| 问题 | 原因 | 解决方案 |
|---|---|---|
| Shorts 过滤失败 | 部分 Shorts 超过 60 秒 | 检查 /shorts/ URL 是否存在 |
| 视频顺序混乱 | Search API 非严格时间序 | 使用 uploads playlist API |
| Transcript API 报错 | 语法变更 | 使用实例方法 ytt_api.fetch() |
| 字幕请求被限流 | 频繁请求触发限制 | 请求间添加 2 秒延迟 |
| 人名/术语拼写错误 | 自动字幕识别问题 | 将视频描述包含在 Claude 上下文 |
| 文章截断 | max_tokens 不够 | 增加 write_articles.py 中的 token 限制 |
| 云服务被封锁 | GitHub Actions/IP 被封 | 本地运行,使用 launchd 自动化 |
💡 安装与使用
环境要求
- Python 3.8+
- YouTube Data API Key
- Anthropic API Key
- (可选)Gmail 账户
快速开始
bash
# 1. 克隆项目
git clone https://github.com/zarazhangrui/youtube-to-ebook.git
cd youtube-to-ebook
# 2. 安装依赖
pip install -r requirements.txt
# 3. 配置 API
cp .env.example .env
# 编辑 .env 填入 API Key
# 4. 配置频道
# 编辑 channels.txt
@mkbhd
@veritasium
@3blue1brown
# 5. 生成电子书
python main.py学习曲线:10分钟配置,即刻运行
获取API Key
YouTube Data API(免费)
1. 访问 https://console.cloud.google.com/
2. 创建新项目
3. 启用 "YouTube Data API v3"
4. 创建凭证 → API Key
5. 复制到 .envAnthropic API
1. 访问 https://console.anthropic.com/
2. 创建 API Key
3. 复制到 .envMac 自动化
bash
# 1. 复制配置
cp com.youtube.newsletter.plist ~/Library/LaunchAgents/
# 2. 加载定时任务
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.youtube.newsletter.plist
# 3. 每周三早上 7 点自动运行Web仪表盘
bash
pip install streamlit
python -m streamlit run dashboard.py🎯 竞争优势对比
vs. Recall
- ✅ 批量处理 - 多频道聚合 vs 单个处理
- ✅ 本地运行 - 数据隐私 vs SaaS服务
- ❌ 功能范围 - 单一功能 vs 通用知识管理
vs. YouTube Summary AI
- ✅ 自动化 - 定时运行+邮件推送 vs 手动操作
- ✅ 开源免费 - MIT协议 vs 订阅付费
- ❌ 影响力 - 社区较小 vs 更大规模
vs. Video to Blog
- ✅ 输出格式 - EPUB电子书 vs 博客文章
- ✅ 批量处理 - 多频道聚合 vs 单个处理
- ❌ 平台支持 - 仅YouTube vs 多平台
核心差异化
- 批量+自动化 - 多频道聚合+定时任务+邮件推送
- 本地优先 - 完全开源,数据隐私
- AI增强 - Claude改写提升可读性
- EPUB输出 - 移动友好,任何设备阅读
🎯 适用场景
✅ 推荐场景
- 技术学习周刊 - 系统化学习YouTube内容
- 行业资讯追踪 - 追踪竞品和行业动态
- 外语学习材料 - 将听力材料转为阅读
- 内容创作参考 - 学习优秀内容和表达方式
- 知识管理 - 将碎片化视频转为系统化材料
❌ 不适合场景
- 非Mac用户 - 自动化配置需要自己实现(Windows/Linux)
- 无API预算 - 需要Anthropic API费用
- 其他平台 - 仅支持YouTube,不支持Bilibili等
- 实时监控 - 无Webhook,不支持新视频触发
- 多人协作 - 单用户设计
✅ 优势
- 功能实用 - 将碎片视频转为系统阅读材料
- 完全开源 - MIT协议,可自由修改
- 本地运行 - 数据隐私,无云服务依赖
- 批量处理 - 支持多频道聚合
- 自动化 - Mac launchd定时运行
- AI增强 - Claude改写提升可读性
- Web仪表盘 - Streamlit界面友好
- 文档详细 - README + SKILL.md记录坑点
- 邮件推送 - 自动发送到邮箱
- 移动友好 - EPUB可在任何设备阅读
❌ 不足
- API依赖 - 需要 YouTube API Key + Anthropic API Key
- 云服务被封锁 - GitHub Actions无法运行
- 仅支持Mac自动化 - Windows/Linux需自己配置
- 社区较小 - 289 stars,维护依赖作者
- 功能单一 - 仅支持YouTube,不支持其他平台
- 无Webhook - 不支持新视频触发
- 无多人协作 - 单用户设计
🌐 社区活跃度
| 指标 | 数据 |
|---|---|
| Stars | 289 ⭐ |
| Forks | 63 |
| Issues | 0 开放 |
| 贡献者 | 2 (作者 + Claude AI) |
| 最近更新 | 2026-03-19 |
社区特点:
- 作者持续维护
- 文档详细(README + SKILL.md)
- MIT协议开源
- 社区规模较小
📊 综合评分
| 维度 | 评分 | 说明 |
|---|---|---|
| 技术创新性 | 7.5/10 | 功能组合创新,非技术突破 |
| 易用性 | 8.5/10 | 配置简单,Web仪表盘友好 |
| 性能表现 | 8.0/10 | 依赖API,整体稳定 |
| 功能完整性 | 7.5/10 | 核心功能完整,扩展有限 |
| 代码质量 | 8.0/10 | 结构清晰,文档详细 |
| 文档完善度 | 9.0/10 | README + SKILL.md详尽 |
| 社区活跃度 | 6.0/10 | 289 stars,社区较小 |
| 可扩展性 | 7.0/10 | 可修改提示词,扩展性一般 |
| 商业价值 | 7.5/10 | 个人使用价值高,商业价值有限 |
总体评分:7.7/10.0 ⭐⭐⭐⭐
📌 推荐建议
YouTube to Ebook 是一个实用且专注的内容转换工具。它将碎片化的YouTube视频内容聚合为系统化的EPUB电子书,适合知识管理和深度阅读。
适合人群:
- ✅ 知识工作者 - 需要系统化学习YouTube内容
- ✅ 语言学习者 - 将听力材料转为阅读材料
- ✅ 内容创作者 - 追踪竞品和学习优秀内容
- ✅ Mac用户 - 可以自动化运行
- ✅ 隐私重视者 - 本地运行,数据不上云
使用建议:
- 精选频道 - 订阅3-5个高质量频道,避免信息过载
- 定期清理 - 定期检查channels.txt,移除不再关注的频道
- 调整提示词 - 修改write_articles.py中的提示词,定制写作风格
- 本地优先 - 在本地运行,避免云服务被封锁
- 备份数据 - 定期备份newsletters/目录
一句话评价:如果你订阅了很多YouTube频道但没有时间看完,这个工具可以帮你把视频变成电子书,随时随地阅读。
重要提醒:
- 需要YouTube API Key + Anthropic API Key
- 云服务可能被封锁,建议本地运行
- 仅Mac支持自动化,Windows/Linux需自己配置
- 仅支持YouTube平台
评测时间: 2026-03-19
评测版本: v1.2