是否有任何python模块用于使用javascript呈现HTML页面并获取DOM对象?
我想解析一个使用javascript生成几乎所有内容的页面.
这里最大的复杂因素是在浏览器之外模拟完整的浏览器环境.你可以使用像Rhino和SpiderMonkey这样的独立javascript解释器来运行javascript代码,但它们不提供完整的浏览器环境来完全呈现网页.
如果我需要解决这样的问题,我首先会看看javascript是如何呈现页面的,它很可能是通过AJAX获取数据并使用它来呈现页面.然后,我可以使用像simplejson和httplib2这样的python库来直接获取数据并使用它,从而无需访问DOM对象.但是,这只是一种可能的情况,我不知道你正在解决的确切问题.
其他选项包括Łukasz提到的selenium,某种webkit嵌入式疯狂,某种IE win32脚本疯狂,或者最后是基于pyxpcom的解决方案(增加了疯狂).所有这些都有缺点,需要几乎完全运行的Web浏览器才能使用python,这可能不是一个选项,具体取决于您的环境.