Skip to content

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界面友好管理

📌 基本信息

项目信息
GitHubhttps://github.com/zarazhangrui/youtube-to-ebook
Stars289
Forks63
LicenseMIT
语言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 APIgoogle-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. 复制到 .env

Anthropic API

1. 访问 https://console.anthropic.com/
2. 创建 API Key
3. 复制到 .env

Mac 自动化

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 多平台

核心差异化

  1. 批量+自动化 - 多频道聚合+定时任务+邮件推送
  2. 本地优先 - 完全开源,数据隐私
  3. AI增强 - Claude改写提升可读性
  4. EPUB输出 - 移动友好,任何设备阅读

🎯 适用场景

✅ 推荐场景

  • 技术学习周刊 - 系统化学习YouTube内容
  • 行业资讯追踪 - 追踪竞品和行业动态
  • 外语学习材料 - 将听力材料转为阅读
  • 内容创作参考 - 学习优秀内容和表达方式
  • 知识管理 - 将碎片化视频转为系统化材料

❌ 不适合场景

  • 非Mac用户 - 自动化配置需要自己实现(Windows/Linux)
  • 无API预算 - 需要Anthropic API费用
  • 其他平台 - 仅支持YouTube,不支持Bilibili等
  • 实时监控 - 无Webhook,不支持新视频触发
  • 多人协作 - 单用户设计

✅ 优势

  1. 功能实用 - 将碎片视频转为系统阅读材料
  2. 完全开源 - MIT协议,可自由修改
  3. 本地运行 - 数据隐私,无云服务依赖
  4. 批量处理 - 支持多频道聚合
  5. 自动化 - Mac launchd定时运行
  6. AI增强 - Claude改写提升可读性
  7. Web仪表盘 - Streamlit界面友好
  8. 文档详细 - README + SKILL.md记录坑点
  9. 邮件推送 - 自动发送到邮箱
  10. 移动友好 - EPUB可在任何设备阅读

❌ 不足

  1. API依赖 - 需要 YouTube API Key + Anthropic API Key
  2. 云服务被封锁 - GitHub Actions无法运行
  3. 仅支持Mac自动化 - Windows/Linux需自己配置
  4. 社区较小 - 289 stars,维护依赖作者
  5. 功能单一 - 仅支持YouTube,不支持其他平台
  6. 无Webhook - 不支持新视频触发
  7. 无多人协作 - 单用户设计

🌐 社区活跃度

指标数据
Stars289 ⭐
Forks63
Issues0 开放
贡献者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/10README + SKILL.md详尽
社区活跃度6.0/10289 stars,社区较小
可扩展性7.0/10可修改提示词,扩展性一般
商业价值7.5/10个人使用价值高,商业价值有限

总体评分:7.7/10.0 ⭐⭐⭐⭐


📌 推荐建议

YouTube to Ebook 是一个实用且专注的内容转换工具。它将碎片化的YouTube视频内容聚合为系统化的EPUB电子书,适合知识管理和深度阅读。

适合人群

  • 知识工作者 - 需要系统化学习YouTube内容
  • 语言学习者 - 将听力材料转为阅读材料
  • 内容创作者 - 追踪竞品和学习优秀内容
  • Mac用户 - 可以自动化运行
  • 隐私重视者 - 本地运行,数据不上云

使用建议

  1. 精选频道 - 订阅3-5个高质量频道,避免信息过载
  2. 定期清理 - 定期检查channels.txt,移除不再关注的频道
  3. 调整提示词 - 修改write_articles.py中的提示词,定制写作风格
  4. 本地优先 - 在本地运行,避免云服务被封锁
  5. 备份数据 - 定期备份newsletters/目录

一句话评价:如果你订阅了很多YouTube频道但没有时间看完,这个工具可以帮你把视频变成电子书,随时随地阅读。

重要提醒

  • 需要YouTube API Key + Anthropic API Key
  • 云服务可能被封锁,建议本地运行
  • 仅Mac支持自动化,Windows/Linux需自己配置
  • 仅支持YouTube平台

评测时间: 2026-03-19
评测版本: v1.2

最后更新于:

基于 VitePress 构建, 部署于 Cloudflare Pages