是否有一个库可以将任何给定的带有 JS、CSS 的 HTML 页面转换为简约的统一格式?
例如,如果我们渲染 stackoverflow 主页,我希望它以最小格式显示。我希望所有其他网站都被渲染。
有点像 Lynx 网络浏览器,但图形最少。
我遇到的将 HTML 转换为 Lynx 样式文本的最佳工具是Jericho 的 Renderer。
它易于使用:
Source source=new Source(new URL(sourceUrlString)); // or new Source("<html>pass in raw html string</html>");
String renderedText=source.getRenderer().toString();
System.out.println("\nSimple rendering of the HTML document:\n");
System.out.println(renderedText);
(从这里)
并很好地处理野外的 HTML(格式错误)。
这是使用 Jericho 以这种方式格式化的此页面的前几行:
堆栈交换登录 | 职业生涯 | 聊天 | 元 | 关于 | 常问问题
堆栈溢出 * 问题 * 标签 * 用户 * 徽章 * 未回答 * 问问题
Java HTML规范化器?
**
是否有一个库可以将任何给定的带有 JS、CSS 的 HTML 页面转换为简约的统一格式?
例如,如果我们渲染 stackoverflow 主页,我希望它以最小格式显示。我希望所有其他网站都被渲染。
有点像 Lynx 网络浏览器,但图形最少。
java lynx link|edit|flag 2天前问 Kim Jong Woo 593112 89% 接受率 你想将你的 HTML 代码转换成更简单的 HTML 代码,还是想向你的用户展示这种“简约统一格式”?或者你想创建一个图像?– Paŭlo Ebermann 昨天更简单的 html 代码而不牺牲元素的相对定位。– 金钟宇 16 小时前
2 个答案
回答您的第一个问题:不。我认为没有为此目的的图书馆。(至少这是我的“谷歌搜索”结果)。
我认为这样做的原因是,你想要的是一种非常特殊的需求。
因此,作为您的问题的解决方案,您可以解析 html 并以您想要的方式在 JEditorpane 或您用于显示的任何内容中显示它。
我只能建议一种方法(这是因为我熟悉 xml 及其周围的一切)。
* Use a library to ensure that your html conforms to xhtml:
http://htmlcleaner.sourceforge.net/release.php
* then either parse the xml with DOM or SAX parsers and display it the
你想要的方式。
或者
* use xslt to transform the document into some other html document
这会产生适合您需求的视图。
或者
* use one of the available html parser librarys. (The most of which i
发现过时的地方(2006)),但它们可能是您的选择。
这只是您如何做到这一点的一个建议。我敢肯定还有成千上万的其他方法可以做同样的事情。
回答您的第一个问题:不。我认为没有为此目的的图书馆。(至少这是我的“谷歌搜索”结果)。
我认为这样做的原因是,你想要的是一种非常特殊的需求。
因此,作为您的问题的解决方案,您可以解析 html 并以您想要的方式在 JEditorpane 或您用于显示的任何内容中显示它。
我只能建议一种方法(这是因为我熟悉 xml 及其周围的一切)。
使用库来确保您的 html 符合 xhtml:http ://htmlcleaner.sourceforge.net/release.php
然后使用 DOM 或 SAX 解析器解析 xml 并以您想要的方式显示它。
或者
或者
这只是您如何做到这一点的一个建议。我敢肯定还有成千上万的其他方法可以做同样的事情。