我正在开发一个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中打印数据。我的结果是一个巨大的段落,即使网站上的真实数据不止一个段落。那么如何解析数据就像网站上的那样?
答案 0 :(得分:3)
格式化的原因是格式化在HTML中 - 包含<p>
和<ol>
标记等。在块元素上调用.text()
会丢失该格式。< / p>
Jsoup有一个示例HTML to Plain Text convertor,您可以通过提供div元素作为焦点来适应您的需求。
或者,您可以选择"div.col-section > *"
,然后遍历每个元素,并使用换行符打印该文本。