Сейчас я использую 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 и есть ли какой-либо существующий и лучший подход к этой проблеме?
Примечание: Во время поиска в Интернете я нашел некоторые исследовательские работы, но большинство из них требуют некоторых предварительных данных обучения и точности, также вызывает озабоченность.