GoForum › 🌐 V2EX

在 Azure 上使用 YoutubeExplode / yt-dlp 获取 YouTube 字幕被判定为机器人,如何解决?

spiderT · 2026-04-29 11:25 · 0 次点赞 · 0 条回复

我在开发一个后端服务(部署在 Microsoft Azure ),用于获取 YouTube 视频字幕。

在本地开发环境一切正常,但部署到 Azure 后,请求经常失败,并返回类似错误:

“Sign in to confirm you’re not a bot”

目前尝试的方案包括:

  • 使用 YoutubeExplode ( C#)
  • 使用 yt-dlp 作为 fallback

现象如下:

  • 相同代码在本地(家庭网络 IP )可以正常获取字幕
  • 部署到 Azure Container Apps / App Service 后频繁被拦截
  • 即使降低请求频率,问题仍然存在
  • 添加 User-Agent 或 headers 也无法完全解决

我怀疑是 Azure 的数据中心 IP 被 YouTube 判定为高风险流量。

想请教以下问题:

  1. 这是由于 Azure IP 段被 YouTube 风控系统识别导致的吗?
  2. 在云环境中访问 YouTube ,有没有相对稳定的生产级方案?
  3. 是否必须使用 cookies (登录态)才能稳定获取字幕?
  4. 使用代理(例如 residential proxy )是否是可行方案?

感谢帮助!

0 条回复
添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: spiderT
发布: 2026-04-29
点赞: 0
回复: 0