用于呈现HTML和JavaScript的Python库

有没有用JavaScript呈现HTML页面并获取DOM对象的任何Python模块?

我想parsing一个网页,使用JavaScript生成几乎所有的内容。

这里最大的困难是在浏览器之外模拟浏览器的全部环境。 您可以使用像Rhino和SpiderMonkey这样的独立JavaScript解释器来运行JavaScript代码,但是它们不提供完整的浏览器(如环境)来完整呈现网页。

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

其他select包括Łukasz提到的selenium,某种webkitembedded式的疯狂,某种IE win32脚本的疯狂,或者最后,一个基于pyxpcom的解决scheme(带有额外的疯狂)。 所有这些都有一个缺点,就是需要几乎完全运行的Python浏览器才能使用,这可能不是一个取决于你的环境的选项。

你可以使用python-webkit 。 需要一个正在运行的glib和GTK,但是这可能比在没有glib的情况下包装webkit的部分更不成问题。

我不知道它是否做你需要的一切,但我想你应该试试看。