查看网站的实际源代码

时间:2012-01-09 13:22:07

标签: javascript html

我将用一个例子来解释我的问题。 建议我去网址: http://www.google.co.il/#q=university

然后我右键单击并选择“查看源代码”,我没有得到真正的html源代码, 我很确定,因为如果我在代码中搜索出现在文档中的唯一单词,我就没有结果。

我知道在chrome中我可以标记某些东西并检查组件,然后我可以看到真正的源代码,但我想使用java程序来获取代码,所以我想了解为什么我不知道的问题当我去'查看源'时,看到真正的html源。

8 个答案:

答案 0 :(得分:2)

查看源代码通常不显示任何javascript生成的内容,因为您可能希望使用插件,例如firebug。

答案 1 :(得分:2)

我知道在Java中查看实际源代码的唯一方法,包括javascript修改将通过虚拟浏览器框架,如HtmlUnit

HtmlUnit可以执行JS脚本并将所有更改应用于DOM树。您必须序列化它才能获得实际页面。请记住,没有“完整的html源”这样的东西。您只能获取DOM树并可能将其序列化。

答案 2 :(得分:1)

好吧,如果您选择“查看源代码”,则会在地址栏中看到页面的实际HTML源代码。但是,您可能希望通过嵌入代码加载外部内容并将其放入HTML中来“混淆”您要查看的页面。

如果你仍然想要在“好”中自动解析这样一个页面,你需要运行一个完整的HTML解释器,例如Webkit - 一个很好的工作,原则上你用“inspect元素”做什么。另一种方法是你在page-html中找到加载外部内容的行,然后依次加载它们。如果你很幸运,这不是故意混淆的,而且很容易实现小任务。

但是,如果你需要整个DOM结构,你应该考虑实现一个浏览器引擎......

答案 3 :(得分:1)

您可以执行诸如document.documentElement之类的操作,以提供所有HTML内容。

console.log(document.documentElement);

答案 4 :(得分:0)

你搜索了什么字?

我猜视图源会显示完整的HTML代码,甚至是页面上看不到的那部分。 修剪搜索字符串后尝试再次搜索。并在Chrome中搜索相同的字符串,你之前尝试过的。

另外,如果在JS事件完成后HTML更改onload,则不会更新。

答案 5 :(得分:0)

您正在寻找的文字可能是通过JavaScript呈现的。如果你正在使用Chrome(自从你提到它),那么当你执行“inspect element”时出现的web开发人员窗格有一个“资源”选项卡,其中列出了JavaScript文件,样式表等。

答案 6 :(得分:0)

“查看源代码”为您提供服务器生成的纯响应。正如Joachim Isaksson已经提到的 - 使用Chrome或Firebug for Firefox。

答案 7 :(得分:0)

在您给出的示例页面中,每个结果元素都是由JS脚本函数从其中一个加载的文件生成的;此外,它不会使用普通字符渲染文本,而是使用Unicode。