我会用一个例子来解释我的问题。建议我去的 URL:http://www.google.co.il/#q=university
然后我右键单击并选择“查看源代码”,我没有得到真正的 HTML 源,我敢肯定,因为如果我在代码中搜索出现在文档中的唯一单词,我不会得到任何结果。
我知道在 chrome 中我可以标记一些东西并检查组件,然后我可以看到真正的源代码,但是我想使用一个 java 程序来获取代码,所以我想了解为什么我没有看到真正的 html 源代码,当我去“查看源代码”。
查看源代码通常不会显示任何 javascript 生成的内容,因为您会希望使用插件作为示例 firebug。
我知道在 Java 中看到实际源代码的唯一方法,包括 javascript 进行修改将通过虚拟浏览器框架,如HtmlUnit。
HtmlUnit 可以执行 JS 脚本并将所有更改应用于 DOM 树。你将不得不序列化它以获得实际的页面。请记住,没有“完整的 html 源”这样的东西。你只能获取 DOM 树并可能序列化它。
好吧,如果您选择“查看源代码”,您会在地址栏中看到页面的实际 HTML 源代码。但是,可能是您要查看的页面被嵌入代码“混淆”,该代码加载外部内容并将其放入 HTML 中。
如果您仍然想在“nice”中自动解析这样的页面,则需要运行整个 HTML 解释器,例如 Webkit-工作的地狱,原则上您正在使用“inspect element”。另一种方法是,您可以在 page-html 中找到加载外部内容的行,然后自行加载它们。
但是,如果您需要整个 DOM 结构,则应该考虑实现其中一个浏览器引擎...
你可以做一些像 document.documentElement,它给出了所有的 HTML 内容。
console.log(document.documentElement);
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(20条)