'View page source' 和 document.querySelector("html").innerHTML 之间的区别是什么?
How come the difference between 'View page source' and document.querySelector("html").innerHTML?
我想从此 YouTube 页面 (link) 中提取字幕。
通过 'View page source'.
查找时,我发现了 timedtext
但当我通过 javascript 控制台搜索时却没有。它不会找到它:
document.querySelector("html").innerHTML.match("timedtext")
但对于 this 其他 YouTube 页面,它实际上两者都有效。
为什么会有差异,如何解决?
,如果您想使用这种方式提取字幕,请考虑搜索脚本标签有 ytInitialData
变量 = 那就是那个有时间文本的 url 的变量。
我看不出区别,但是,我假设 javascript 代码会在页面加载后注入 HTML 代码。
粘贴您在 中分享的行后:
ytInitialPlayerResponse.captions.playerCaptionsTracklistRenderer.captionTracks
我得到了可用语言的定时文本。不过请记住,可能并非所有视频都有 auto-generated 字幕 - example
在那个例子中,我没有得到字幕,所以,我不认为检查页面的源代码适用于所有视频。
我想从此 YouTube 页面 (link) 中提取字幕。
通过 'View page source'.
但当我通过 javascript 控制台搜索时却没有。它不会找到它:
document.querySelector("html").innerHTML.match("timedtext")
但对于 this 其他 YouTube 页面,它实际上两者都有效。
为什么会有差异,如何解决?
ytInitialData
变量 = 那就是那个有时间文本的 url 的变量。
我看不出区别,但是,我假设 javascript 代码会在页面加载后注入 HTML 代码。
粘贴您在
ytInitialPlayerResponse.captions.playerCaptionsTracklistRenderer.captionTracks
我得到了可用语言的定时文本。不过请记住,可能并非所有视频都有 auto-generated 字幕 - example
在那个例子中,我没有得到字幕,所以,我不认为检查页面的源代码适用于所有视频。