基于 YoutubeDownloader 项目风格开发的知乎视频下载工具,支持下载知乎训练营/课程视频。
- ✅ 支持从 Chrome 读取 cookies 进行鉴权(需要 macOS Keychain 授权)
- ✅ 自动解析知乎训练营视频页面
- ✅ 支持多种清晰度选择 (UHD/FHD/HD/SD/LD)
- ✅ 使用 ffmpeg 下载 M3U8 视频流
- ✅ 自动处理文件名和输出目录
python3 --version用于下载和合并 M3U8 视频流:
# macOS
brew install ffmpeg
# 验证安装
ffmpeg -versioncd ZhihuDownloader
pip install -r requirements.txt重要: 下载付费/私有视频需要认证 cookies。有两种方式获取:
- 确保已在 Chrome 浏览器中登录知乎账号
- 首次运行时会弹出 macOS Keychain 授权对话框,请点击「允许」
如果自动读取失败,可以手动导出:
- 安装 Chrome 扩展 "EditThisCookie" 或 "Cookie-Editor"
- 打开 zhihu.com 并登录
- 点击扩展图标,导出 cookies 为 JSON
- 保存为
cookies.json文件 - 使用
-c cookies.json参数指定 cookies 文件
或者运行辅助脚本查看详细说明:
python export_cookies.pypython zhihu_downloader.py "视频页面URL"# 下载训练营视频
python zhihu_downloader.py "https://www.zhihu.com/xen/market/training/training-video/1973778517616523009/1973778517947865002?education_channel_code=ZHZN-cd8085beea05e6d"
# 指定输出目录
python zhihu_downloader.py "视频URL" -o ~/Downloads/zhihu_videos
# 指定清晰度
python zhihu_downloader.py "视频URL" -q fhd
# 不使用 Chrome cookies (仅下载免费视频)
python zhihu_downloader.py "视频URL" --no-cookies| 参数 | 说明 | 默认值 |
|---|---|---|
url |
知乎视频页面 URL 或视频 ID | 必填 |
-o, --output |
输出目录 | 当前目录 |
-q, --quality |
视频清晰度 (uhd/fhd/hd/sd/ld) | hd |
-c, --cookies |
cookies 文件路径 (JSON 格式) | 无 |
--no-cookies |
不使用任何 cookies | False |
uhd: 超高清 (4K)fhd: 全高清 (1080p)hd: 高清 (720p)sd: 标清 (480p)ld: 低清 (360p)
- 读取 Chrome Cookies: 使用
browser_cookie3库从 Chrome 浏览器读取知乎的登录 cookies - 获取视频信息: 解析页面获取视频 ID,然后调用知乎 Lens API 获取视频详情
- 选择最佳清晰度: 根据用户指定的清晰度选择最合适的视频流
- 下载视频: 使用 ffmpeg 下载 M3U8 视频流并合并为 MP4 文件
首次运行时,macOS 会弹出对话框询问是否允许访问 Chrome 的登录数据。请点击「允许」。
如果之前点击了「拒绝」,需要手动重置:
- 打开「钥匙串访问」应用
- 搜索「Chrome Safe Storage」
- 右键点击,选择「访问控制」
- 添加 Python 或终端应用
确保已在 Chrome 中登录知乎账号,并且是使用 Chrome 浏览器(不是 Safari 或 Firefox)。
- 检查是否有权限访问该视频(是否已购买课程)
- 尝试在 Chrome 中刷新页面后重新运行
- 确保已正确安装 ffmpeg:
brew install ffmpeg - 检查网络连接是否正常
- 某些视频可能需要 VPN 访问
- Python 3.8+
- requests - HTTP 请求
- browser-cookie3 - Chrome cookies 读取
- m3u8 - M3U8 解析
- ffmpeg - 视频流下载和合并
本工具仅供个人学习和研究使用,请勿用于商业用途或侵犯版权的行为。使用本工具下载视频时,请确保您拥有合法的访问权限。
MIT License