Skip to content

введение

    <!-- https://mvnrepository.com/artifact/org.jsoup/jsoup -->
    <dependency>
        <groupId>org.jsoup</groupId>
        <artifactId>jsoup</artifactId>
        <version>1.18.1</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-text -->
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-text</artifactId>
        <version>1.12.0</version>
    </dependency>

пример

import java.util.HashMap;
import java.util.Map;
import org.apache.commons.text.StringEscapeUtils;
        try {
            Document doc = Jsoup.connect("http://ibash.org.ru/").get();
            log(doc.title());

            Elements  sourceQuote= doc.select("html body div.quote");
            Map<Integer,String> quotes = new HashMap<>();

            for (Element sQ : sourceQuote) {
                int idQ=Integer.parseInt(sQ.select("div.quothead span a b").text().substring(1));
                //создаём строку без спец символов т.е. кодируем кавычки и прочее чтобы сохранять в базу данных безопасно
                String quote= StringEscapeUtils.escapeHtml4(sQ.select("div.quotbody").text());

//                log("%s\n\t%s", idQ, sQ.select("div.quotbody").text());
                log("%s\n\t%s", idQ, quote);

                // для пример можно посмотреть как выглядит сырой текст, с кавычками и прочее
//                        sQ.attr("title"), sQ.absUrl("href"));
                quotes.put(idQ,quote);
            }
        } catch (Exception e) {
            log("Error: %s", e.getMessage());
        }
    }
    public static void log(String message, Object... args) {
        System.out.println(String.format(message, args));