从论坛中提取线程头和线程回复

时间:2012-10-22 06:14:50

标签: html extract jsoup forum

我想从论坛中仅提取用户的视图和回复以及头部的标题。在此代码中,当您提供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();

    }

}

2 个答案:

答案 0 :(得分:1)

为什么你将body-Element包裹在div和pre标签中?

可以像这样选择title-Element:

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的概述,这将帮助您找到所需的任何元素。

答案 1 :(得分:1)

我使用了其他代码,并从这个特定的标签中收集了数据。

Elements content = doc.getElementsByTag(“blockquote”);

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

content.select( “BLOCKQUOTE”)除去();

content.select( “BR”)除去();

content.select( “DIV”)除去();

content.select( “a”)的除去();

content.select( “B”)除去();