L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

zhihu-transcribe

zhihu-transcribe

知乎视频 → 下载 → 转录 → 存为 Markdown。 支持知乎视频链接、问答内嵌视频和专栏文章,无需登录。

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: zhihu-transcribe description: > 知乎视频 → 下载 → 转录 → 存为 Markdown。 支持知乎视频链接、问答内嵌视频和专栏文章,无需登录。 metadata: category: "media" triggers: "["用户发送知乎视频链接", "把这个知乎视频转成文字", "帮我转录这个知乎"]" version: "1.0.0" tags: "[media, video, transcription, zhihu]"

知乎视频转录 Skill

将知乎视频下载音频,用 SenseVoice-Small 转录为文字,存为带 frontmatter 的 Markdown 文件。

环境要求

# Python 3.9+
python -m venv .venv
source .venv/bin/activate

# 依赖
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)
python scripts/transcribe.py "https://www.zhihu.com/question/12345/answer/67890"

# 专栏文章(内嵌视频会被提取)
python scripts/transcribe.py "https://zhuanlan.zhihu.com/p/123456"

# 指定输出目录
python scripts/transcribe.py "https://www.zhihu.com/video/1234567890" -o ./output

流程

Step 1: yt-dlp 下载音频

知乎视频页、问答页和专栏文章的链接形态不同,脚本统一交给 yt-dlp 解析。Referer + UA 伪装可规避基础反爬。

yt-dlp --extract-audio --audio-format mp3 --audio-quality 128K \
  --user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ..." \
  --referer "https://www.zhihu.com/" \
  "https://www.zhihu.com/video/1234567890"

Step 2: SenseVoice-Small 转录

from funasr import AutoModel

model = AutoModel(
    model="iic/SenseVoiceSmall",
    trust_remote_code=True,
    vad_model="fsmn-vad",
    vad_kwargs={"max_single_segment_time": 30000},
    device="cpu",
)

result = model.generate(
    input=audio_path,
    language="zh",
    use_itn=True,
    batch_size_s=60,
)

Step 3: 生成 Markdown

脚本自动创建带 frontmatter 的 Markdown 文件,包含来源链接、标题、语言和转录文本。下载失败会自动重试。

已知限制

  • 内嵌视频:问答和专栏中的内嵌视频依赖 yt-dlp 正确提取视频 ID;若页面结构变化可能导致提取失败
  • 反爬:知乎对频繁请求有限流;脚本已内置重试,建议单次处理间隔不少于 3 秒
  • 登录态:盐选内容、仅会员可见视频需要登录,当前脚本不携带登录态
  • 语言:知乎以中文为主,脚本默认 language=zh;英文内容建议改用 youtube-transcribe
  • 模型大小:SenseVoice-Small 首次下载约 893MB

致谢

⚖️ 合规声明

仅供个人学习与研究使用。请遵守目标平台的服务条款(ToS)与 robots 规则,控制请求频率,不要用于批量抓取、商用爬取或侵犯他人权益的场景。下载内容的版权归原作者所有。

Skills enregistrées