【问题标题】:Parse and interact with obfuscated javascript解析并与混淆的 javascript 交互
【发布时间】:2011-12-13 02:23:43
【问题描述】:

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

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

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

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

任何帮助将不胜感激,我真的陷入困境。谢谢!

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

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

【问题讨论】:

    标签: python screen-scraping mechanize web-scraping deobfuscation


    【解决方案1】:

    与其尝试处理页面,不如使用 Firebug 找出表单字段的名称,然后使用 httplib 或其他任何东西发送带有必要字段和设置的请求?

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

    【讨论】:

    • +1 更容易。在我自己当前的一个项目中,我发现使用 urllib 为 非常 类似的 HTTP 请求增加一个 URL 字段比使用机械化爬取页面要容易得多。
    • @Jani:我想我会试试这个。这很烦人,因为我正在查看完全符合我想要做的 Actionscript 代码,但我不能将 Adob​​e Air 平台用于我的项目。我会说清楚的。谢谢!
    • 想了一会儿,我意识到一个问题:我需要解析的结果也会以混淆的javascript代码返回,不幸的是,这使得这个解决方案不可能,我看到的方式.
    • 除非混淆代码中的变量/属性的名称不断变化,否则您只需要弄清楚哪个是哪个,哪个应该起作用。听起来你正在尝试编写一些疯狂的代码......:D
    猜你喜欢
    • 1970-01-01
    • 2017-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-15
    • 1970-01-01
    • 2020-06-03
    • 2013-04-28
    相关资源
    最近更新 更多