基于 Java 模板提取网页信息
现在我使用Jsoup从一些第三方网页中提取某些信息(不是所有文本),我定期这样做。这工作正常,直到某些网页的HTML更改,这种更改会导致现有Java代码的更改,这是一项繁琐的任务,因为这些网页更改非常频繁。此外,它还需要程序员来修复Java代码。以下是我感兴趣的网页上的HTML代码示例:
<div>
<p><strong>Score:</strong>2.5/5</p>
<p><strong>Director:</strong> Bryan Singer</p>
</div>
<div>some other info which I dont need</div>
现在这是我想做的,我想在本地保存这个网页(一个HTML文件)并从中创建一个模板,比如:
<div>
<p><strong>Score:</strong>{MOVIE_RATING}</p>
<p><strong>Director:</strong>{MOVIE_DIRECTOR}</p>
</div>
<div>some other info which I dont need</div>
与网页的实际URL一起,这些HTML模板将成为Java程序的输入,该程序将找出这些预定义关键字的位置(例如{MOVIE_RATING},{MOVIE_DIRECTOR}),并从实际网页中提取值。
这样,我就不必在每次网页更改时都修改Java程序,我只需保存网页的HTML并用这些关键字替换数据,其余的将由程序处理。例如,将来实际的HTML代码可能如下所示:
<div>
<div><b>Rating:</b>**1/2</div>
<div><i>Director:</i>Singer, Bryan</div>
</div>
和相应的模板将如下所示:
<div>
<div><b>Rating:</b>{MOVIE_RATING}</div>
<div><i>Director:</i>{MOVIE_DIRECTOR}</div>
</div>
此外,创建这些类型的模板也可以由非程序员完成,任何人都可以编辑文件。
现在的问题是,我如何在Java中实现这一点,是否有任何现有的更好的方法来解决这个问题?
注意:在谷歌搜索时,我发现了一些研究论文,但大多数都需要一些事先学习的数据,准确性也是一个值得关注的问题。