如何在 chrome 插件中获取 youtube 视频的字幕
有一些 python 的库,没法在 chrome 插件中使用,而且在云端使用容易被封 ip 地址。
所以想从用户的浏览器端来获取 youtube 视频的字幕。youtube 视频播放页面,本身是可以请求字幕的。看起来是请求这个地址: https://www.youtube.com/youtubei/v1/get_transcript?prettyPrint=false 。但是有一个 params 不知道咋构造出来的。
--data-raw '{"context":{"client":{"clientName":"WEB","clientVersion":"2.20250526.00.00"}},"params":"CgtiZFNxNGI2RnFxVRISQ2dOaGMzSVNBbVZ1R2dBJTNEGAEqM2VuZ2FnZW1lbnQtcGFuZWwtc2VhcmNoYWJsZS10cmFuc2NyaXB0LXNlYXJjaC1wYW5lbDABOAFAAQ%3D%3D"}'
有类似的 chrome 插件也是通过请求这个地址获取的字幕,不过对应的 js 代码混淆了。https://chromewebstore.google.com/detail/youtube-summary-chatgpt-b/cdjifpfganmhoojfclednjdnnpooaojb?hl=en-US&utm_source=ext_sidebar
有谁做过类似的需求?
![]() | 1 winterx 104 天前 楼主可以抓一下沉浸式翻译看看他怎么实现的 |
![]() | 2 yb2313 104 天前 好多插件翻译功能都能做到, 给我狠狠逆向他们的插件, 然后带我一起学学 |
![]() | 3 M4ster 104 天前 F12 看了下,在 Network 中 https://www.youtube.com/api/timedtext 相关的请求是与字幕有关的。 其中的查询参数可能要自己研究下怎么计算,在 GitHub 上搜了下有许多相关项目,OP 可以参考下。 https://github.com/search?q=youtube.com%2Fapi%2Ftimedtext&ref=opensearch&type=code |
4 iOCZS 104 天前 应该可以拦截请求。。。。 |
5 itopmy OP @M4ster 视频下面有一个 more ,点开后,有一个 show transcript ,点击后的请求就是 https://www.youtube.com/youtubei/v1/get_transcript?prettyPrint=false ,确实就是不知道它的参数是咋构造的。特别是 params 那个 base64 编码。 https://www.youtube.com/api/timedtext 这个感觉是比较早的接口了。 |
&nsp; 6 itopmy OP @iOCZS 不想拦截请求,就是想用户观看视频时,后台拿到字幕,然后让 AI 加工一下。字幕在用户端获取。现在有好多视频 summary 的插件,都是同样的套路。 |
7 AvilCore 103 天前 ![]() 有做好的轮子干嘛自己造呢 https://github.com/LuanRT/YouTube.js/pull/500 |
![]() | 8 dark495 103 天前 |