我正在寻找一种从命令行处理网页和关联Javascript的方法,以便可以输出生成的DOM模型。
这样做的目的是识别页面中的表单,而不用正则表达式进行任何讨厌的HTML(和Javascript)解析。
是否有任何命令行工具可以执行此操作?所以假设,一个命令行Web浏览器下载内容并将DOM作为文本输出,而不是生成一个漂亮的页面。
答案 0 :(得分:2)
我不知道,但我想用你的建议强调一个难点:
处理网页和关联的Javascript
什么时候输出?许多网页都有时间敏感的javascripts,或者会影响DOM的onclick / onhover脚本。你想要这些被执行吗?所有这些,还是只有一些?在javascript操作之后决定页面何时“完成”并准备好输出并不是一件容易的事。 (在javascript操作之前,这是一个更容易的问题;只需等到document.DOMReady事件......)
编辑:我不是说你根本不需要执行javascript:你可能想在加载过程中处理任何document.write部分,因为他们可能会写出一个表单......我说这很难知道什么时候你做了“足够的”javascript ...
答案 1 :(得分:2)
对于java,我对htmlunit有很好的体验。
我还使用BeautifulSoup python库来解析表单和formdata。无需指定正则表达式,因为它可以让您不费力地遍历DOM树。
答案 2 :(得分:1)
PyKHTML“处理JavaScript”并允许您遍历DOM。