解析混淆的 JavaScript 并与之交互

问题描述 投票:0回答:1

我正在尝试与 HTML 4.0 网站进行交互,该网站使用严重混淆的 JavaScript 来隐藏常规 HTML 元素。我想做的是填写表格并读取返回的结果,事实证明这比预期更难做到。

当我使用 Firebug 阅读该页面时,它为我提供了反混淆的源代码,然后我可以使用它来完成我想要完成的任务。 Firebug 输出显示了网站的所有常规元素,例如 -tags 等,这些元素隐藏在原始源中。

我已经用 Python 编写了应用程序的其余部分,使用 mechanize 与其他 Web 服务交互,因此如果可能的话,我宁愿使用现有的 Python 模块来执行此操作。问题不仅在于如何以机械化可以理解的方式读取源代码,还在于如何生成 Web 服务器可以解释的响应。即使 html 代码被混淆了,我也可以使用常规的机械化控件吗?

在我的项目开始时,我使用 pywebkitgtk 而不是 mechanize,但放弃了它,因为它在 python 中并没有真正实现得那么好。大多数功能都缺失了。启动一个 webkit 浏览器并从中读取 HTML,并将其与 mechanize 一起使用,这也许是一个明智的方法吗?

任何帮助将不胜感激,我真的很困惑。谢谢!

编辑:我尝试转储从 mechanize 获取的 HTML 并使用 pywebkitgtk 打开它,使用 load_html_string,然后以这种方式评估 html。不幸的是,由于我尝试解析的文档动态加载更多资源,因此该脚本只是停止等待加载资源。请注意,我无法使用 webkit 来加载文档本身,因为我使用 mechanize 的 CookieJar 功能来允许我先登录。

我还尝试从 webkit 转储 HTML,由于某种原因,它仅转储混淆的 javascript,同时完美地显示网站。如果 webkit 可以像 Firebug 那样转储反混淆的 javascript,我就可以使用它并根据干净的代码形成请求..

python web-scraping mechanize deobfuscation
1个回答
1
投票

与其尝试处理页面,不如使用 Firebug 找出表单字段的名称,然后使用 httplib 或其他方式发送包含必要字段和设置的请求?

如果使用 ajax 发送,您应该也能够确定在 Firebug 中发送到服务器的值。

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