因此,这里面临的挑战......我需要从随机网页中创建干净的HTML。我的目标是阅读一个页面并将其传递给一个图书馆,这个图书馆又可以让我回到完美的格式化HTML。用于清理HTML的Java库就像浏览器一样
听起来不那么难,对不对?毕竟,市场上的每一款浏览器都能有效地应对格式错误的HTML的挑战,并将其转化为几乎每一页加载的渲染功能。每个人都有自己的清理内容的稍微特别的算法(就像...),但他们往往做的非常好,能捕捉到我喜欢作为作者意图的内容。那么,为什么我不能为这个任务找到一个好的java库?
有一点要提到的是,我并不想把XML解析为XML。我发现诸如NekoHTML,TagSoup,HtmlCleaner和JTidy(仅举几例)等库更专注于解决将HTML转换为有效的XML的问题,并且在这个过程中,他们忽略了这些糟糕的特性,格式化的文件应该重新构建。由于讨厌的HTML,他们经常无法捕捉作者的意图,并且吐出与原始来源完全不同的文档。而对于这个项目来说,这两个文件的渲染是相当重要的。
我很喜欢杰里科的HTML,但它似乎不是这份工作的理想人选......至少在我没有付出很多努力的情况下。此外,本地依赖是一个不行,所以mozilla解析器已经不存在了。
任何人都可以帮助我寻找完美的HTML解析器吗?提前致谢!
给我定义格式不正确的HTML ...你一般是指适当的缩进还是只是格式不正确的HTML。后者的范围要大得多。 – 2011-05-24 15:48:12
我们肯定在说后者。对于这个项目,我必须拉入一个网页,应用一些转换,然后将结果显示给用户。如果格式/布局与预处理的HTML格式明显不同,那我就麻烦了。 – stevevls 2011-05-24 15:52:02