Парсинг HTML страниц на Java с помощью Jsoup

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 ม.ค. 2025

ความคิดเห็น • 44

  • @Rompashke
    @Rompashke 2 ปีที่แล้ว +3

    Классная, атмосферная подача. Хорошая дикция. Понятное донесение информации. Продолжайте в том же духе. Мне как обучающемуся ваши видео были очень полезны.

  • @SteaveNorman
    @SteaveNorman ปีที่แล้ว +1

    Супер!!! Я бы посоветовал поучиться, в подаче материала, многим лекторам с различных учебных курсов!!! Ну можно же объяснить нормальным языком. Зачастую лекторы общаются с аудиторией на "профессиональном" сленге, не понимая, что люди пришли учиться, и многие с "нуля". Доходчивое объяснение-это талант. Спасибо!!!

  • @svetlanamazhaykina6918
    @svetlanamazhaykina6918 ปีที่แล้ว

    Спасибо за Ваш труд! Коммент в поддержку канала.

  • @МаксМакс-ч8к
    @МаксМакс-ч8к 2 ปีที่แล้ว +2

    Здорово! Спасибо за урок👍👍👍

  • @LAZIO14
    @LAZIO14 ปีที่แล้ว

    Интересно было бы посмотреть как Вы напишите CRUD приложение с использование библиотеки Gson для парсинга

  • @valera3146
    @valera3146 ปีที่แล้ว

    Спасибо, ждем парсинг XML

  • @EdwardNorthwind
    @EdwardNorthwind ปีที่แล้ว

    Что зв настройка, что ИДЕЯ показывает класс переменной?
    var document :Document

  • @Novichek55
    @Novichek55 ปีที่แล้ว

    как получить значение атрибута value из какого-либо элемента html страницы, если этот элемент имеет атрибут disabled (тоесть отключен), в этом случае получатся value=0 а мне надо получить его реальное значение как в браузере???

  • @Leonardo-gd2iz
    @Leonardo-gd2iz ปีที่แล้ว

    А как разложить на модель? Предположим есть всего три корневых дива и куча вложенных дивов в каждый из этих дивов и в них еще вложенны span элементы. Хотелось бы просто иметь модель: getDiv(1).getDiv(0).getSpan(5) и т.п.

    • @devmark
      @devmark  ปีที่แล้ว

      Прям в такую модель разложить не получится, если только явно не хардкодить. Но можно использовать выражения, подобные xpath. Например: "> div:eq(1) > div:eq(0) > span:eq(5)". Подробнее см. jsoup.org/cookbook/extracting-data/selector-syntax

  • @GrekoRoman
    @GrekoRoman ปีที่แล้ว

    Как с помощью данной библиотеки можно проверять количество товаров на сайте (странице) с частотой в 1 мин и при превышении заданного значения отдавать результат во внешний сервис (тлг например)?

    • @МаксимКолпащиков-щ1ж
      @МаксимКолпащиков-щ1ж ปีที่แล้ว

      Написать свой сервер (на спринг буте например), которому настроить scheduler. Он раз в минуту будет через библиотеку парсить данные и подсчитывать их, а потом слать в телегу

  • @СергейАкопов-в6т
    @СергейАкопов-в6т 2 ปีที่แล้ว

    При попытке взять страницу с любого https-сайта выдает java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
    Как быть?

    • @devmark
      @devmark  2 ปีที่แล้ว

      Уточните пожалуйста, какая у вас версия jdk и какой сайт вызывает такую ошибку? Только что проверил несколько популярных сайтов, у меня на java 18 всё работает.

  • @winter-lb7id
    @winter-lb7id 6 หลายเดือนก่อน

    Что означает var document :Document ?
    у моего document нет никаких методов ((

    • @devmark
      @devmark  6 หลายเดือนก่อน

      Это просто сокращение от Document document. Проверьте, что вы импортируете класс именно из библиотеки jsoup.

    • @winter-lb7id
      @winter-lb7id 6 หลายเดือนก่อน

      @@devmark удалил :Document - заработало. По сути обычный html , но не интуитивно понятно по синтаксису

  • @ziomek7975
    @ziomek7975 2 ปีที่แล้ว

    На страницу есть несколько svg тегов и все из них он видит кроме того, который мне нужен, пробовал найти див, в котором данный тег находится и он при выводе оказывается пустым будто бы в нем нет этого svg тега, хотя он там есть.

    • @devmark
      @devmark  2 ปีที่แล้ว

      Возможно, там разметка "битая"?

  • @ТимурМугинов-ц9г
    @ТимурМугинов-ц9г 2 ปีที่แล้ว

    добрый день, можете подсказать, как парсить сайты с пагинацией?

    • @devmark
      @devmark  2 ปีที่แล้ว

      Так же, как и прочие сайты. Нужно найти, какой параметр в урле отвечает за номер текущей страницы (как правило p или page), и перебирать их пока они не закончатся. Но лучше парсить прямо ссылки на конкретные страницы (если они есть конечно же).

  • @ronyrein7946
    @ronyrein7946 11 หลายเดือนก่อน

    Урок классный, но нету объяснения как создать заготовку на maven

    • @devmark
      @devmark  11 หลายเดือนก่อน

      Заготовку с помощью Idea сделать довольно просто. Выбираем File -> New Project -> Maven.

    • @ronyrein7946
      @ronyrein7946 10 หลายเดือนก่อน

      спасибо@@devmark

  • @МаксМакс-ч8к
    @МаксМакс-ч8к 2 ปีที่แล้ว +3

    Было бы круто прикрутить туда ForkJoin + БД👍👍👍

    • @devmark
      @devmark  2 ปีที่แล้ว +1

      Согласен, но тема данного видео - обзор возможностей Jsoup.

    • @aza8483
      @aza8483 ปีที่แล้ว

      привет)вы парсинг страниц умеете делать?нужно было написать код парсинга страниц ,если это возможно напишите тут ,свяжемся

    • @МаксМакс-ч8к
      @МаксМакс-ч8к ปีที่แล้ว

      @@aza8483 привет, а что нужно спарсить?

    • @devmark
      @devmark  ปีที่แล้ว

      Напишите мне на сайте devmark.ru в комментариях. Там стоит премодерация и ваше сообщение не будет опубликовано.

    • @aza8483
      @aza8483 ปีที่แล้ว

      @@МаксМакс-ч8к как с тобой связаться?

  • @user-vl9km6ot1h
    @user-vl9km6ot1h 2 ปีที่แล้ว +1

    Жаль что не сначала от и до) ничерта не понял)

  • @locky1827
    @locky1827 ปีที่แล้ว

    Эээ. Синтаксис как Котлин , проект вроде Java. Так можно и не понять сразу

    • @devmark
      @devmark  ปีที่แล้ว

      Вы про ключевое слово var?)

  • @serg_777
    @serg_777 ปีที่แล้ว

    java и var как то не в тему, можно было бы объяснить каким образом это работает...

    • @devmark
      @devmark  ปีที่แล้ว

      это больше дело привычки)

    • @the_green_elephant
      @the_green_elephant ปีที่แล้ว

      @serg_777 да какая разница, есть var, или нет. Для человека, который программированием занимается - само собой разумеющееся, что здесь переменная создаётся и инициализируется

    • @felixredcat4400
      @felixredcat4400 5 หลายเดือนก่อน

      Не очевидно новичку.
      Int a = 0; //понятно.
      Какой такой VAR
      Что это такое?

  • @mimotech6221
    @mimotech6221 ปีที่แล้ว +1

    Как сканировать сайт на каждый 5 минут и если появляется новый объявление уведомлять об этом на эмайл, на java ​@devmark

    • @devmark
      @devmark  ปีที่แล้ว +1

      В соседнем комменте уже описали похожий кейс: настриваем шедулер на срабатывание раз в 5 минут, он сравнивает предыдущую версию страницы с новой, и если они отличаются - отправляет email.

  • @bombito4299
    @bombito4299 ปีที่แล้ว

    Как сделать парсинг ссылки с пробелами?
    Вот пример

    • @devmark
      @devmark  ปีที่แล้ว

      Данный элемент имеет несколько классов, которые перечислены через пробел. Искать элемент можно по любому из них. Например, по первому ("tile").