Я заметил, что на многих веб-страницах есть лишние (для моих целей) узлы HTML.Я хотел бы удалить их со страницы, так как это значительно облегчит мою обработку.
Есть ли способ сделать это с помощью JSoup?
Чтобы сделать ситуацию более понятной,скажем, у нас есть следующая страница:
<html>
<head>
</head>
<body>
<div>I have some text</div>
<div class='useless'>
<div class='useless'>
<div>I also have text
<div>I also have text</div>
</div>
</div>
</div>
</body>
</html>
Я хотел бы удалить div = 'бесполезные' класса - но, конечно, я не могу выбрать их по их классу / идентификатору / тегу и т. д. толькотот факт, что у них нет контента.Это, конечно, изменит структуру страницы, это совершенно нормально - это облегчит мою окончательную обработку.
Результатом будет:
<html>
<head>
</head>
<body>
<div>I have some text</div>
<div class='useless'>
<div class='useless'>
<div>I also have text
<div>I also have text</div>
</div>
</div>
</div>
</body>
</html>
Возможно ли это в простой илитрудный путь.
Результат будет:
<html>
<head>
</head>
<body>
<div>I have some text</div>
<div>I also have text
<div>I also have text</div>
</div>
</body>
</html>
Сейчас я не могу придумать ничего особенно элегантного.Я обычно склоняюсь к проверке метода ownText()
для различных элементов (проверю ownText().length() > 0
), и если false
попытается удалить их, но я думаю, что это также удалит любые дочерние / дочерние элементы, даже если они совпадаютtrue
для условия .ownText()
.