用途:把知乎视频(独立视频页、问答内嵌视频、专栏文章内嵌视频)下载音频并转录为文字,输出带 frontmatter 的 Markdown 文件,包含来源链接、标题、语言和转录文本。
主要能力:统一处理知乎视频页、问答页、专栏文章三类链接;用 yt-dlp 下载音频(通过 Referer 与 UA 伪装规避基础反爬);用 SenseVoice-Small 模型转录,默认 language=zh、use_itn=True,并配合 fsmn-vad 做语音活动检测;下载失败自动重试。
环境要求:Python 3.9+;依赖 pip install funasr modelscope torch torchaudio;系统依赖 macOS 用 brew install ffmpeg yt-dlp,Ubuntu 用 sudo apt install ffmpeg && pip install yt-dlp。
使用方式:激活虚拟环境后运行脚本,例如 python scripts/transcribe.py "https://www.zhihu.com/video/1234567890";问答内嵌视频可传问答链接,脚本自动提取视频 ID;专栏文章传 zhuanlan 链接;可用 -o 指定输出目录。
限制:内嵌视频依赖 yt-dlp 正确提取视频 ID,页面结构变化可能导致失败;知乎对频繁请求有限流,建议单次处理间隔不少于 3 秒;盐选内容、仅会员可见视频需要登录,当前脚本不携带登录态;默认中文,英文内容建议改用 youtube-transcribe;SenseVoice-Small 首次下载约 893MB。仅供个人学习与研究使用,需遵守目标平台服务条款与 robots 规则,控制请求频率,不得用于批量抓取或商用爬取,下载内容版权归原作者所有。