繁体   English   中英

使用 jsoup 将 HTML 解析为格式化的纯文本

[英]Parsing HTML into formatted plaintext using jsoup

我正在研究一个 maven 项目,该项目允许我解析来自网站的 html 数据。 我能够使用下面的代码解析它:

public void parseData(){
        String url = "http://stackoverflow.com/help/on-topic";
        try {
            Document doc = Jsoup.connect(url).get();
            Element essay = doc.select("div.col-section").first();
            String essayText = essay.text();
            jTextAreaAdem.setText(essayText);


        } catch (IOException ex) {
            Logger.getLogger(formAdem.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

到目前为止,我没有任何问题。 我可以解析html数据。 我正在使用 jsoup 中的 select 方法并使用“div.col-section”检索数据,这意味着我正在寻找类为 col-section 的 div 元素。 我想在 textarea 中打印数据。 尽管网站上的真实数据不止一个段落,但我得到的结果是一个巨大的段落。 那么如何像网站上的一样解析数据呢?

它没有格式化的原因是格式化在 HTML 中——带有<p><ol>标签等。在块元素上调用.text()会丢失该格式。

Jsoup 有一个示例HTML 到纯文本转换器,您可以通过提供 div 元素作为焦点来适应您的需要。

或者,您可以只选择"div.col-section > *" ,并遍历每个元素,并用换行符打印出该文本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM