jsoup: Java HTML парсър

Скрапирайте, почиствайте и манипулирайте HTML с jQuery-подобна простота в Java

Какво е jsoup?

jsoup е лека, но мощна Java библиотека, предназначена за работа с реални HTML документи. Тя предоставя интуитивен API за парсване на HTML от URL адреси, файлове или низове, извличане и манипулация на данни чрез обхождане на DOM, CSS селектори и модерни HTML5 методи. Идеална за уеб скрапинг, извличане на данни и почистване на HTML, jsoup обработва неправилно форматиран код по начина, по който го прави браузърът.

За разлика от подходите с regex, jsoup предлага чист обектен модел с методи, вдъхновени от jQuery, опростявайки задачи като изпращане на форми, промяна на атрибути и извличане на текст. Без зависимости и с MIT лиценз, тя е любимата библиотека на Java разработчиците за надеждна HTML обработка.

Ключови предимства на jsoup:

  • Работа с реални HTML документи: Парсва неформатиран HTML като браузър
  • jQuery-подобен синтаксис: Познати CSS селектори (напр. doc.select("div.content"))
  • Подходяща за скрапинг: Следва пренасочвания, обработва бисквитки и изпраща форми
  • Кръс-платформена: Чиста Java без външни зависимости
  • Сигурност: Вградена защита срещу XSS и почистване на HTML

Перфектна за извличане на данни, автоматизация на уеб и анализ на съдържание.

GitHub

Статистика на GitHub

Име:
език:
звезди:
Вилици:
Разрешително:
Хранилището е последно актуализирано на

Защо да изберете jsoup?

  • Простота: Интуитивен API с поддръжка на CSS селектори
  • Надеждност: Активно поддържана от 2009 г.
  • Производителност: Оптимизирана за потокова обработка и големи документи
  • Гъвкавост: Работи с фрагменти, файлове или живи URL адреси
  • Чист изход: Форматира и подрежда HTML

Инсталация

Добавете jsoup чрез Maven или Gradle:

Maven



    org.jsoup
    jsoup
    1.17.2


Gradle


implementation 'org.jsoup:jsoup:1.17.2'

Системни изисквания: Java 8+

Примери за код

Практически примери за използване на jsoup:

Анализ на HTML с jsoup

Пример 1: Парсване на документ от низ

Ако имате HTML в Java низ и искате да го анализирате за да извлечете съдържанието му или да го промените, jsoup може да го направи само с няколко реда код.

Методът parse(String html, String baseUri) преобразува входния HTML в нов Document. Параметърът baseUri помага за преобразуването на относителните URL адреси в абсолютни и трябва да съответства на URL адреса, от който е извлечен документът. Ако това не е приложимо или ако HTML съдържа елемент , можете да използвате по-простия метод parse(String html).

Пример 2: Използване на CSS селектори за намиране на елементи

Искате да намерите или манипулирате елементи с CSS селектори. Парсвайте и променяйте HTML низ директно:

Пример 3: Промяна на HTML на елемент

Трябва да промените HTML на елемент. Използвайте методите за задаване на HTML в Element, както е показано в следващия примерен код.

Разширени функционалности

jsoup поддържа професионална HTML обработка:

  • Работа с форми: Изпращане на POST данни:

    Изпращане на форма

    
        Connection.Response res = Jsoup.connect("https://example.com/login")
            .data("username", "user", "password", "pass")
            .method(Connection.Method.POST)
            .execute();
        Document dashboard = res.parse();
        
    
  • Поддръжка на прокси: Скрапинг чрез прокси:

    Конфигурация на прокси

    
        Document doc = Jsoup.connect("https://target.com")
            .proxy("127.0.0.1", 8080)
            .get();
        
    
  • Манипулация на DOM: Промяна на HTML структура:

    Промени в DOM

    
        doc.select("div.ads").remove(); // Премахва всички реклами
        doc.select("h1").attr("class", "header"); // Добавя CSS клас
        
    

jsoup срещу HTMLUnit

Ключови разлики:

  • Фокус: jsoup парсва статичен HTML; HTMLUnit симулира браузъри (изпълнение на JavaScript)
  • Скорост: jsoup е по-бърз за чист HTML анализ
  • API стил: jsoup използва CSS селектори; HTMLUnit имитира Selenium
  • Случаи на употреба: jsoup за скрапинг; HTMLUnit за тестване на динамични страници
  • Зависимости: jsoup няма; HTMLUnit изисква допълнителни библиотеки

Заключение

jsoup е крайният инструментариум за Java разработчици за работа с HTML. Идеален за:

  • Уеб скрапинг: Извличане на данни от всякакъв уебсайт
  • Почистване на данни: Саниране и нормализиране на HTML
  • Анализ на съдържание: Парсване на RSS емисии или уеб архиви
  • Тестване: Проверка на HTML структура в приложения

С MIT лиценз и интуитивен API, jsoup е топ изборът за обработка на HTML в Java.

Подобни Продукти

 Bulgarian