Jsoup является Java синтаксический анализатор HTML для извлечения и управления данными HTML, с помощью лучшего из DOM, CSS и подобных jQuery методов.

Jsoup является библиотекой Java для работы с реальным HTML. Это обеспечивает очень удобный API для извлечения и управления данными, с помощью лучшего из DOM, CSS и подобных jQuery методов, разработанных для контакта со всеми вариантами HTML, найденного в дикой природе; от нетронутого и проверки, к недопустимому супу тега; Jsoup создаст разумное дерево синтаксического анализа.

Пример

Выберите домашнюю страницу Википедии, проанализируйте ее к DOM и выберите заголовки из раздела "In the news" в список Elements:

Document doc = Jsoup.connect("http://en.wikipedia.org/").get(); Elements newsHeadlines = doc.select("#mp-itn b a"); 

Выбор определенного содержания

select(...) метод используется для выбора подмножества Elements от a Document. Этот метод принимает, что селектор CSS указывает, какие элементы выбраны и возвращены.

Некоторые примеры использования, после загрузки или парсинга документа HTML:

  • Elements links = doc.select("a[href]")

    Это выберет любого a с a href атрибут, т.е. любая ссылка на странице.

  • Elements pngs = doc.select("img[src$=.png]")

    Это выберет любого img элемент, где значение src припишите концы в .png, таким образом, это выберет любое изображение, которое является изображением PNG.

Этот метод возвращается Elements список, который содержит все элементы, подобранные селектором.

На веб-сайте Jsoup существует введение, и страница Javadoc перечисляет более усовершенствованные возможности, такие как соответствие regex, исключения, псевдоселекторы, и т.д.

Поддержка JavaScript

Jsoup в настоящее время не поддерживает JavaScript, что означает, что страницы, на которых данные загружаются JavaScript, не будут доступны при парсинге использования Jsoup.

Если Вы хотите получить такие динамично загруженные данные, Вы можете:

  • Используйте альтернативу, такую как HtmlUnit, Селен WebDriver или ui4j.

  • Используйте API веб-сайта, если он предлагает один,

  • Найти из того, где веб-сайт загружает свои данные, обычно все, которое необходимо сделать, отправляют Запрос HTTP куда-нибудь для получения данных как JSON.

Открытый исходный код

Jsoup является проектом с открытым исходным кодом, распределенным в соответствии с либеральной лицензией MIT. Исходный код доступен в GitHub.

jsoup реализует Веб-гипертекстовую технологическую рабочую группу приложения (WHATWG) спецификация HTML5 и анализирует HTML к тому же DOM, как современные браузеры делают.

Jsoup может привыкнуть к...

  • Царапанье и синтаксический анализ HTML от URL, файла или строки.
  • Найдите и извлеките данные, с помощью обхода DOM или селекторов CSS.
  • Управляйте элементами HTML, атрибутами и текстом.
  • Уберите отправленное пользователями содержание против безопасного белого списка, для предотвращения нападений на XSS.
  • Вывод опрятный HTML.

Jsoup разработан для контакта со всеми вариантами HTML, найденного в дикой природе; от нетронутого и проверки, к недопустимому супу тега; Jsoup создаст разумное дерево синтаксического анализа.

Официальный сайт: http://jsoup.org/

Полезные ссылки: