一个网页有一些内容以某种复杂的方式混淆(至少对我来说)。我无法从页面源中破译它。无论如何,当单击页面上的链接时,会调用 onclick java 函数并且页面变得可读。此时,浏览器中生成的源代码也是可读的。
是否有可以在 Firefox 中加载页面、单击链接然后获取未处理的 html 的编程工具(如 mechanize 或 sth.,最好是 perl)?
任何建议如何解决这个问题?
一个网页有一些内容以某种复杂的方式混淆(至少对我来说)。我无法从页面源中破译它。无论如何,当单击页面上的链接时,会调用 onclick java 函数并且页面变得可读。此时,浏览器中生成的源代码也是可读的。
是否有可以在 Firefox 中加载页面、单击链接然后获取未处理的 html 的编程工具(如 mechanize 或 sth.,最好是 perl)?
任何建议如何解决这个问题?
尝试使用 Chrome 并在开发人员工具 javascript 查看器中检查 deobfuscate source 选项。
我会使用Firebug来查看去混淆的代码。
当您查看源代码时,浏览器将向您显示原始源代码,而不是当前的 DOM。当您使用 Firebug 查看源代码时,它会向您显示当前源代码,这将是您的浏览器当前显示的内容。
这种方法仅在您想查看 HTML 时才有效,而在您需要程序提取时无效。
试试 Firefox 的greasemonkey 插件。
您可以编写一个小的 javascript 函数来为您单击该按钮,例如每次在 Firefox 中加载页面时。查看 userscripts.org 以开始使用。
这仅适用于单个客户端(在您的浏览器中),那就是您。
如果您需要它完全自动化,您可以尝试记录一个 Selenium 测试用例。您可以为此使用另一个 Firefox 附加组件“Selenium IDE”(Microsoft Office 资深人士将其称为“宏记录器”),甚至可以将您记录的测试用例转换为 Perl 代码。
(运行测试用例需要启动另一个小组件 selenium rc(一个基于 java 的服务器),它将为您启动 firefox 并单击链接。