有没有可以用javascript呈现HTML页面并返回DOM对象的python模块?
我想解析一个使用javascript生成几乎所有内容的页面。
发布于 2008-09-24 09:42:52
这里最大的复杂之处在于在浏览器之外模拟完整的浏览器环境。你可以使用独立的javascript解释器,比如Rhino和SpiderMonkey来运行javascript代码,但是它们不能提供一个完整的浏览器环境来完全呈现一个网页。
如果我需要解决这样的问题,我会首先看看javascript是如何渲染页面的,它很可能是通过AJAX获取数据并使用它来渲染页面。然后,我可以使用诸如simplejson和httplib2之类的python库来直接获取数据并使用它,而不需要访问DOM对象。然而,这只是一种可能的情况,我不知道您正在解决的确切问题。
其他选择包括webkit ukasz提到的selenium,某种webkit嵌入的疯狂,某种IE win32脚本的疯狂,或者,最后,一个基于Ł的解决方案(增加了疯狂)。所有这些都有一个缺点,那就是需要一个完全运行的web浏览器才能使用python,这可能不是一个选项,这取决于您的环境。
发布于 2008-09-24 10:11:16
你也许可以使用python-webkit来实现它。需要运行glib和GTK,但这可能比在没有glib的情况下包装webkit的部分问题要小。
我不知道它是否能满足您的所有需求,但我想您应该试一试。
https://stackoverflow.com/questions/126131
复制相似问题