4

是否有一个库可以将任何给定的带有 JS、CSS 的 HTML 页面转换为简约的统一格式?

例如,如果我们渲染 stackoverflow 主页,我希望它以最小格式显示。我希望所有其他网站都被渲染。

有点像 Lynx 网络浏览器,但图形最少。

4

2 回答 2

2

我遇到的将 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)),但它们可能是您的选择。

这只是您如何做到这一点的一个建议。我敢肯定还有成千上万的其他方法可以做同样的事情。

于 2011-03-02T10:49:41.747 回答
1

回答您的第一个问题:不。我认为没有为此目的的图书馆。(至少这是我的“谷歌搜索”结果)。

我认为这样做的原因是,你想要的是一种非常特殊的需求。

因此,作为您的问题的解决方案,您可以解析 html 并以您想要的方式在 JEditorpane 或您用于显示的任何内容中显示它。

我只能建议一种方法(这是因为我熟悉 xml 及其周围的一切)。

或者

  • 使用 xslt 将文档转换为其他 html 文档,从而生成适合您需要的视图。

或者

  • 使用可用的 html 解析器库之一。(我发现其中大部分都过时了(2006 年)),但它们可能是您的选择。

这只是您如何做到这一点的一个建议。我敢肯定还有成千上万的其他方法可以做同样的事情。

于 2011-03-02T08:51:14.580 回答