当前位置: 首页 > 面试题库 >

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

岳正浩
2023-03-14
问题内容

我正在做一个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”检索数据,这意味着我正在使用class为col-
section的div元素进行查找。我想在textarea中打印数据。即使网站上的实际数据超过一个段落,我得到的结果还是一个巨大的段落。那么,如何像在网站上一样解析数据呢?


问题答案:

未格式化的原因是格式化是在HTML中进行的-带<p><ol>标记等。调用.text()block元素会丢失该格式。

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

另外,您可以选择"div.col-section > *",并遍历每个Element,然后用换行符打印出该文本。



 类似资料:
  • 到目前为止我没有问题。我可以解析html数据。我使用jsoup中的select方法,并使用“div.col-section”检索数据,这意味着我要查找类为col-section的div元素。我想用文本区打印数据。结果,我有一个巨大的一个段落,即使在网站上的真实数据是不止一个段落。那么如何像网站上一样解析数据呢?

  • 然后我在Jsoup as中将xpath转换为CSS查询,以便稍后提取特定元素: 代码的执行没有正确定位我,而是定位到Firebug在XPath中引用的元素: 从最后来看,第一个区别是: 有没有任何替代Jsoup的方法可以处理这类问题?

  • 我想解析出这个Nasa页面上的描述,页面底部的文字 我该怎么做?

  • 本文向大家介绍Android使用Jsoup解析Html表格的方法,包括了Android使用Jsoup解析Html表格的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android使用Jsoup解析Html表格的方法。分享给大家供大家参考,具体如下: 看代码吧,可解析表中的label text button 自己根据需要再添加,呵呵 希望本文所述对大家Android程序设计有所帮助。

  • 主要内容:Jsoup 使用DOM解析HTML 语法,Jsoup 使用DOM解析HTML 说明,Jsoup 使用DOM解析HTML 示例以下示例将展示在将 HTML 字符串解析为 Document 对象后如何使用类似 DOM 的方法。 Jsoup 使用DOM解析HTML 语法 document : 文档对象代表 HTML DOM。 Jsoup : 解析给定 HTML 字符串的主类。 html : HTML 字符串。 sampleDiv : 元素对象表示由 id“sampleDiv”标识的 html

  • 主要内容:Jsoup 解析HTML正文 语法,Jsoup 解析HTML正文 说明,Jsoup 解析HTML正文 示例以下示例将展示将 HTML 片段字符串解析为 Element 对象作为 html 正文。 Jsoup 解析HTML正文 语法 document : 文档对象代表 HTML DOM。 Jsoup : 解析给定 HTML 字符串的主类。 html : HTML 片段字符串。 body : 表示文档正文元素的子元素,等效于 document.getElementsByTag("body"