0

我只想从论坛中提取用户的意见和回复以及负责人的标题。在此代码中,当您提供 url 时,代码会返回所有内容。我只想要标题标签中定义的线程标题和 div 内容标签之间的用户回复。帮我怎么提取。解释如何在 txt 文件中打印它

package extract;

import java.io.*;

import org.jsoup.*;

import org.jsoup.nodes.*;

public class TestJsoup
{
   public void SimpleParse()  
   {        
        try  
        {

            Document doc = Jsoup.connect("url").get();

            doc.body().wrap("<div></div>");

            doc.body().wrap("<pre></pre>");
            String text = doc.text();
           // Converting nbsp entities

            text = text.replaceAll("\u00A0", " ");

            System.out.print(text);

         }   
         catch (IOException e) 
         {

            e.printStackTrace();

         }

    }

    public static void main(String args[])
    {

      TestJsoup tjs = new TestJsoup();

      tjs.SimpleParse();

    }

}
4

2 回答 2

1

为什么将 body-Element 包装在 div 和 pre Tag 中?

可以像这样选择标题元素:

Document doc = Jsoup.connect("url").get();

Element titleElement = doc.select("title").first();
String titleText = titleElement.text();

// Or shorter ...

String titleText = doc.select("title").first().text();

div 标签:

// Document 'doc' as above

Elements divTags = doc.select("div");


for( Element element : divTags )
{
    // Do something there ... eg. print each element
    System.out.println(element);

    // Or get the Text of it
    String text = element.text();
}

这是关于整个Jsoup Selector API的概述,这将帮助您找到所需的任何类型的元素。

于 2012-10-22T15:01:35.020 回答
1

好吧,我使用了另一个代码,并从这个特定的标签中收集了数据。

元素内容 = doc.getElementsByTag("blockquote");

元素 k=doc.select("[postcontent restore]");

content.select("blockquote").remove();

content.select("br").remove();

content.select("div").remove();

content.select("a").remove();

content.select("b").remove();

于 2012-10-24T05:32:36.753 回答