用于呈现HTML和JavaScript的Python库

时间:2008-09-24 09:05:58

标签: javascript python html

是否有任何python模块用于使用javascript呈现HTML页面并获取DOM对象?

我想解析一个使用javascript生成几乎所有内容的页面。

2 个答案:

答案 0 :(得分:8)

这里最大的复杂因素是在浏览器之外模拟完整的浏览器环境。您可以使用像Rhino和SpiderMonkey这样的独立javascript解释器来运行javascript代码,但是它们不提供完整的浏览器环境来完整呈现网页。

如果我需要解决这样的问题,我首先会看看javascript是如何呈现页面的,它很可能是通过AJAX获取数据并使用它来呈现页面。然后,我可以使用像simplejson和httplib2这样的python库来直接获取数据并使用它,从而无需访问DOM对象。但是,这只是一种可能的情况,我不知道你正在解决的确切问题。

其他选项包括Łukasz提到的硒,某种webkit嵌入式疯狂,某种IE win32脚本疯狂,或者最后是基于pyxpcom的解决方案(增加了疯狂)。所有这些都有缺点,需要几乎完全运行的Web浏览器才能使用python,根据您的环境,这可能不是一个选项。

答案 1 :(得分:1)

您可以使用python-webkit。需要一个运行的glib和GTK,但这可能比包裹webkit的部分没有glib的问题要小。

我不知道它是否能满足你所​​需的一切,但我想你应该试一试。