Extract/decode Javascript 个变量从 html 到 python

Extract/decode Javascript variables from html into python

我正在尝试使用 python 从 HTML 站点提取一些 javascript 变量:

<script>
var nData = new Array();
var Data = "5b7b......";
nData = CallInit(Data);
...
...
</script>

我可以毫无问题地在 firebug(DOM 面板)中看到 "nData" 的内容:

[Object { height="532",  width="1280",  url="https://example.org...8EDA4F3F5F395B9&key=lh1",  more...}, Object { height="266",  width="640",  url="https://example.org...8EDA4F3F5F395B9&key=lh1",  more...}]

nData 的内容是一个URL。 我怎样才能 parse/extract nData 的内容到 python? 可能吗?

谢谢

在 python 库 Ghost.py 的帮助下,应该可以从已执行的 Javascript 代码中获取动态变量。

我刚刚用一些 small test site 进行了尝试,得到了一个名为 a 的 Javascript 变量,我在该页面上将其用作 python 对象。我做了以下事情:

  1. 安装 Ghost.py 和 pip install Ghost.py

  2. 使用 pip install PySide.

  3. 安装 PySide(这是 Ghost.py 的先决条件)
  4. 使用下面的python代码:

    from ghost import Ghost
    ghost = Ghost()
    ghost.open('https://dl.dropboxusercontent.com/u/13991899/test/index.html')
    js_variable, _ = ghost.evaluate('a', expect_loading=True)
    print js_variable
    

您应该能够将您的变量 nData 放入 python 变量 js_variable,方法是使用 ghost.open 打开您的站点,然后调用 ghost.evaluate('nData')