Парсинг HTML страниц на Java с помощью Jsoup
HTML-код
- Опубликовано: 11 сен 2024
- #devmark #java #html В этом видео мы рассмотрим библиотеку для Java под названием Jsoup. Она позволяет легко парсить любые html страницы, извлекая из них текст, адреса гиперссылок и любую другую полезную информацию. Также вкратце рассмотрим синтаксис css-выражений для выбора элементов по определённым условиям: по имени тэга, по имени класса и по id элемента. После просмотра данного видео вы уже сможете написать простейший краулер - программу для индексирования содержимого сайтов.
Статья по теме: devmark.ru/art...
Все новости проекта: t.me/devmark_ru
Супер!!! Я бы посоветовал поучиться, в подаче материала, многим лекторам с различных учебных курсов!!! Ну можно же объяснить нормальным языком. Зачастую лекторы общаются с аудиторией на "профессиональном" сленге, не понимая, что люди пришли учиться, и многие с "нуля". Доходчивое объяснение-это талант. Спасибо!!!
Классная, атмосферная подача. Хорошая дикция. Понятное донесение информации. Продолжайте в том же духе. Мне как обучающемуся ваши видео были очень полезны.
Здорово! Спасибо за урок👍👍👍
Спасибо за Ваш труд! Коммент в поддержку канала.
Интересно было бы посмотреть как Вы напишите CRUD приложение с использование библиотеки Gson для парсинга
Спасибо, ждем парсинг XML
Было бы круто прикрутить туда ForkJoin + БД👍👍👍
Согласен, но тема данного видео - обзор возможностей Jsoup.
привет)вы парсинг страниц умеете делать?нужно было написать код парсинга страниц ,если это возможно напишите тут ,свяжемся
@@aza8483 привет, а что нужно спарсить?
Напишите мне на сайте devmark.ru в комментариях. Там стоит премодерация и ваше сообщение не будет опубликовано.
@@МаксМакс-ч8к как с тобой связаться?
как получить значение атрибута value из какого-либо элемента html страницы, если этот элемент имеет атрибут disabled (тоесть отключен), в этом случае получатся value=0 а мне надо получить его реальное значение как в браузере???
А как разложить на модель? Предположим есть всего три корневых дива и куча вложенных дивов в каждый из этих дивов и в них еще вложенны span элементы. Хотелось бы просто иметь модель: getDiv(1).getDiv(0).getSpan(5) и т.п.
Прям в такую модель разложить не получится, если только явно не хардкодить. Но можно использовать выражения, подобные xpath. Например: "> div:eq(1) > div:eq(0) > span:eq(5)". Подробнее см. jsoup.org/cookbook/extracting-data/selector-syntax
Что зв настройка, что ИДЕЯ показывает класс переменной?
var document :Document
Жаль что не сначала от и до) ничерта не понял)
Как с помощью данной библиотеки можно проверять количество товаров на сайте (странице) с частотой в 1 мин и при превышении заданного значения отдавать результат во внешний сервис (тлг например)?
Написать свой сервер (на спринг буте например), которому настроить scheduler. Он раз в минуту будет через библиотеку парсить данные и подсчитывать их, а потом слать в телегу
При попытке взять страницу с любого https-сайта выдает java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
Как быть?
Уточните пожалуйста, какая у вас версия jdk и какой сайт вызывает такую ошибку? Только что проверил несколько популярных сайтов, у меня на java 18 всё работает.
На страницу есть несколько svg тегов и все из них он видит кроме того, который мне нужен, пробовал найти див, в котором данный тег находится и он при выводе оказывается пустым будто бы в нем нет этого svg тега, хотя он там есть.
Возможно, там разметка "битая"?
добрый день, можете подсказать, как парсить сайты с пагинацией?
Так же, как и прочие сайты. Нужно найти, какой параметр в урле отвечает за номер текущей страницы (как правило p или page), и перебирать их пока они не закончатся. Но лучше парсить прямо ссылки на конкретные страницы (если они есть конечно же).
Урок классный, но нету объяснения как создать заготовку на maven
Заготовку с помощью Idea сделать довольно просто. Выбираем File -> New Project -> Maven.
спасибо@@devmark
Что означает var document :Document ?
у моего document нет никаких методов ((
Это просто сокращение от Document document. Проверьте, что вы импортируете класс именно из библиотеки jsoup.
@@devmark удалил :Document - заработало. По сути обычный html , но не интуитивно понятно по синтаксису
Эээ. Синтаксис как Котлин , проект вроде Java. Так можно и не понять сразу
Вы про ключевое слово var?)
java и var как то не в тему, можно было бы объяснить каким образом это работает...
это больше дело привычки)
@serg_777 да какая разница, есть var, или нет. Для человека, который программированием занимается - само собой разумеющееся, что здесь переменная создаётся и инициализируется
Не очевидно новичку.
Int a = 0; //понятно.
Какой такой VAR
Что это такое?
Как сканировать сайт на каждый 5 минут и если появляется новый объявление уведомлять об этом на эмайл, на java @devmark
В соседнем комменте уже описали похожий кейс: настриваем шедулер на срабатывание раз в 5 минут, он сравнивает предыдущую версию страницы с новой, и если они отличаются - отправляет email.
Как сделать парсинг ссылки с пробелами?
Вот пример
Данный элемент имеет несколько классов, которые перечислены через пробел. Искать элемент можно по любому из них. Например, по первому ("tile").