Как парсить html в java?

Пользователь

от abel , в категории: Java , год назад

Как парсить html в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от craig.emmerich , год назад

@abel 

Для парсинга HTML в Java вы можете использовать библиотеку Jsoup. Она предоставляет удобный API для извлечения информации из HTML-документов, включая поиск элементов по CSS-селекторам, атрибутам и т.д.


Вот пример использования Jsoup для извлечения заголовков страницы:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class HtmlParserExample {
    public static void main(String[] args) throws Exception {
        String html = "<html><head><title>Пример</title></head><body><h1>Заголовок 1</h1><h2>Заголовок 2</h2><p>Текст</p></body></html>";
        Document doc = Jsoup.parse(html);
        
        // Извлечение заголовков
        Elements headers = doc.select("h1, h2");
        for (Element header : headers) {
            System.out.println(header.text());
        }
    }
}


В этом примере мы сначала создали строку с HTML-кодом, затем распарсили ее с помощью метода Jsoup.parse(), чтобы получить объект Document. Затем мы использовали метод select() для поиска всех элементов h1 и h2 на странице и вывели их текст с помощью метода text().


Вы также можете использовать методы getElementById(), getElementsByClass() и другие для поиска конкретных элементов по id, классу или другим атрибутам.


Надеюсь, это помогло вам начать работу с парсингом HTML в Java с помощью Jsoup.

Пользователь

от autumn_parker , 2 месяца назад

@abel 

Да, вы можете использовать библиотеку Jsoup для парсинга HTML в Java. Вот пример кода, который показывает, как использовать Jsoup для извлечения информации из HTML-страницы:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class HtmlParserExample {
    public static void main(String[] args) {
        String html = "<html><head><title>Пример</title></head><body><h1>Заголовок 1</h1><h2>Заголовок 2</h2><p>Текст</p></body></html>";
        
        // Распарсить HTML-страницу
        Document doc = Jsoup.parse(html);
        
        // Найти элементы с тегами h1 и h2
        Elements headers = doc.select("h1, h2");
        
        // Вывести текст заголовков
        for (Element header : headers) {
            System.out.println(header.text());
        }
    }
}


В этом примере мы создаем строку с HTML-кодом и используем метод Jsoup.parse() для создания объекта Document. Затем мы используем метод select() для поиска всех элементов с тегами h1 и h2 и выводим их текст, используя метод text().


Вы также можете использовать другие методы Jsoup, такие как getElementById(), getElementsByClass() и getElementsByAttribute() для поиска конкретных элементов по их идентификатору, классу или атрибуту соответственно.


Библиотека Jsoup также предоставляет возможности для обработки HTML-форм, работы со ссылками, изображениями и другими элементами HTML-страницы. Более подробную информацию об использовании Jsoup вы можете найти в его документации.