- 我使用 wget 将网页保存到文件“annie.html”。
% wget -qO- http://www.swagbucks.com/watch/video/523803/annie > annie.html
- 该文件中有以下行:
<div id="sbPlaylistVideoContainer" class="fullSize"></div>
- 问题是:我如何获取此
<div>
元素的实际代码?如果我在 Chrome 中右键单击此视频并单击“检查元素”,我就会看到实际代码。
它看起来像这样。
<video id="example_video_1_html5_api" class="vjs-tech" preload="none" src="blob:http%3A//www.swagbucks.com/096df37a-81fe-4c65-b082-0fe059254d6e" style=""><source src="http://progressive.totaleclips.com.edgesuite.net/137/e137013_257.mp4?eclipid=e137013&bitrateid=457&vendorid=1839&type=.mp4" type="video/mp4"></video>
Chrome 从哪里获得此代码?它不存在于网页中。我想获取正确的“wget”命令语法,以便将此代码保存到文件中。
答案1
如果不实际分析网页,就无法确定,但最有可能的是该网站正在使用 JavaScript 将视频播放器注入页面。Chrome 的“检查元素”功能显示 DOM 的当前状态,不一定是页面的真实来源。
网站这样做的原因有很多,包括检测浏览器的功能以便呈现适当的播放器(即 HTML 视频或 Flash 播放器)或具有动态更改视频的能力。
答案2
网页是动态生成的。由于您使用支持 HTML5 的 Chrome 查看网页,因此服务器会为您提供一个 html5 标签。wget 不会将自己标识为 chrome,因此服务器默认为向后兼容
但这两个命令都是有效的。