Описание тега jsoup
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/
Полезные ссылки: