Jsoup - это парсер Java HTML для извлечения данных HTML и управления ими с использованием лучших методов DOM, CSS и jQuery.

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

пример

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

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

Выбор конкретного контента

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

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

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

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

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

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

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

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

Поддержка JavaScript

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

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

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

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

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

Открытый источник

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

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

Jsoup можно использовать для...

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

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

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

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