Иногда необходимо обработать данные, представленные в виде HTML. Конечно, проще всего работать с такими данными в JavaScript, однако в других языках также существуют отличные решения, решающие данную проблему. Так, например, в Java это Jsoup. Рассмотрим самые базовые операции, которые мы можем выполнить при помощи библиотеки.
Загрузка HTML страницы
Веб-страницу мы можем загрузить из файла, напрямую из текста или из Интернета.
|
|
Работа с селекторами
Для выбора отдельных элементов документа мы можем использовать селекторы, форма записи которых эквивалентна селекторам JS:
|
|
Селекторы можно комбинировать: doc.select("#mp-itn b a");
Выделение аттрибутов, текста и прочего из элементов
В следующем примере мы можем увидеть, как при помощи библиотеки получить все ссылки, выбрать первую, ее текст, аттрибуты, ее код и прочее:
|
|
Обработка URL’ов
Тут тоже ничего сложного. Добавив параметр abs:
, мы можем получить полный путь для URL. Данный прием полезен, например, для обработки веб-страниц, ссылки которых обычно являются не абсолютными, а относитльными:
|
|
Изменение аттрибутов элемента
Делается это так (мне даже нечего тут прокомментировать):
|
|
Работа с HTML элементов
Изменить содержимое элемента, добавить перед ним и после него элементы можно так:
|
|
Обернуть элемент внешним элементов мы можем так:
|
|
Заключение
Как видим, работа с библиотекой не доставит нам трудностей. Потому она может использоваться для обработки HTML, XML документов. Также при помощи библиотеки можно написать клиент для любого сайта - библиотека позволяет работать с http-запросами, куками и прочим. Пример можно увидеть в моем репозитории VK_Small_API, где я делал попытку создать библиотеку для работы с сайтом vk.com.