查看网站的实际源代码

问题描述 投票:3回答:7

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

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

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

javascript html
7个回答
1
投票

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

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

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


2
投票

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


2
投票

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

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


0
投票

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


0
投票

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


0
投票

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


0
投票

你搜索了什么字?

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

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

© www.soinside.com 2019 - 2024. All rights reserved.