你正在做的事情有很多困难的部分。
用户输入
如果你不要求你的用户提供任何上下文,你永远不会猜测文本的结构。至少,您应该要求他们在您的 GUI 中提供一个标题和一系列段落。
理想情况下,您可以要求他们遵循众所周知的标记语言(Markdown、Textile 等)并使用开源解析器来提取结构。
外部页面
如果使用任何页面,您唯一可以依赖的就是“结构标记”。所以假设你知道页面的标题应该是“Hello World”,并且页面中的某个地方有一个“h1”元素,你可以假设这是标题可以去的地方。
但是如果页面是一个 div 标签汤,并且只使用 CSS 来区分标题的呈现而不是大部分文本,那么您将不得不猜测样式是如何完成的:如果你不知道页面是如何制作的。
我不认为 Lucene 会对此有所帮助(据我所知,Lucene 是用来创建大量文本中使用的单词的索引;我认为它不能帮助您猜测文本的哪一部分是指成为标题,副标题等......)
从外部页面生成模板
假设您“猜对”了,您可以通过以下方式生成内容
- 复制粘贴页面
- 用您选择的模板语言的标签替换要更改的部分
- 将模板存储在模板系统可以访问的地方
- 配置您的模板/视图系统(viewResolver for velocity)为正确的人使用正确的模板
这当然会带来可怕的法律问题,因为您的模板将包含原始网站作者的作品(很可能是受版权保护的材料)
更现实的解决方案
我建议您将问题限制为:
- 使用具有一些可用结构信息的输入(使用 GUI 输入,使用标记语言等)
- 使用您提供的模板,了解其结构(并且可以很容易地重用)
请注意,这些点都与模板系统无关。
否则,恐怕你的工作量会不合理......