如何在 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 1 天前
楼主可以抓一下沉浸式翻译看看他怎么实现的
|
![]() |
2
yb2313 1 天前
好多插件翻译功能都能做到, 给我狠狠逆向他们的插件, 然后带我一起学学
|
![]() |
3
M4ster 1 天前
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 1 天前
应该可以拦截请求。。。。
|
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 这个感觉是比较早的接口了。 |
7
AvilCore 1 天前 ![]() 有做好的轮子干嘛自己造呢
https://github.com/LuanRT/YouTube.js/pull/500 |
![]() |
8
dark495 1 天前
|