gpt4 book ai didi

java - 如何自动从html页面创建模板?

转载 作者:行者123 更新时间:2023-11-30 11:52:52 25 4
gpt4 key购买 nike

我有一个用例,我需要在 Java 中以编程方式呈现给定网页格式的未格式化文本。即,文本应该像网页一样自动格式化,包括样式、段落、要点等。
正如我首先看到的,我将不得不分析一段未格式化的文本,以找出段落、项目符号、标题等的候选者。我打算使用 Lucene 分析器/分词器来完成这项任务。有没有其他选择?
第二个问题是将格式化的网页转换为某种模板(例如 velocity 模板),其中包含各种实体的占位符,如标题、要点等。
Java 中是否有任何文本分析/模板库可以帮助我做到这一点?最好开源。
对于在 Java 中以更好的方式完成此类任务,还有其他建议吗?

感谢您的帮助。

最佳答案

您正在做的事情有很多困难的部分。

用户输入

如果您不要求用户提供任何上下文,您将永远猜不到文本的结构。至少,您应该要求他们在您的 GUI 中提供一个标题和一系列段落。

理想情况下,您可以要求他们遵循一种众所周知的标记语言(Markdown、Textile 等)并使用开源解析器来提取结构。

外部页面

如果使用任何页面,您唯一可以依赖的就是“结构标记”。因此,假设您知道页面的标题应该是“Hello World”,并且页面中某处有一个“h1”元素,您可以假设这就是页眉所在的位置。

但是如果页面是一个 div 标签汤,并且只使用 CSS 来区分标题的呈现而不是大部分文本,那么您将不得不猜测样式是如何完成的:如果您不知道页面是如何制作的,那显然是不可能的。

我认为 Lucene 对此没有帮助(据我所知,Lucene 是用来创建大量文本中使用的单词的索引;我认为它不能帮助您猜测文本的哪一部分text 是标题,副标题等...)

从外部页面生成模板

假设您“猜”对了,您可以通过以下方式生成内容

  • 复制粘贴页面
  • 用您选择的模板语言的标签替换要更改的部分
  • 将模板存储在模板系统可以访问的地方
  • 配置您的模板/ View 系统(viewResolver for velocity)为正确的人使用正确的模板

这当然会带来可怕的法律问题,因为您的模板将包含原始网站作者的作品(很可能是受版权保护的 Material )

更现实的解决方案

我建议您将问题限制为:

  • 使用具有一些可用结构信息的输入(使用 GUI 输入它,使用标记语言,等等)
  • 使用提供的模板,了解(并且可以很容易地重用)的结构

请注意,这些点都与模板系统无关。

否则,恐怕您的工作量会超出合理范围...

关于java - 如何自动从html页面创建模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6621935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com