import java.io.*;
import java.net.*;
import java.util.*;
import org.htmlparser.beans.StringBean;
import org.htmlparser.util.ParserException;
public class Text {
  public static void main(String[] args) throws IOException{
Text t = new Text();
try{
System.out.println("请输入所要查询的网址:");
    byte buf[]=new byte[100];
    int count=System.in.read(buf);
    String addr=new String(buf,0,count);
URL url = new URL(addr);
    System.out.println(t.getText(url)); }catch(IOException e){
 e.printStackTrace();
}
  }
  public String getText(String url)throws ParserException{
StringBean sb = new StringBean();
    try{
      sb.setLinks(false);// 设置不需要得到页面所包含的链接信息
      sb.setReplaceNonBreakingSpaces(true);// 设置将不间断空格由正规空格所替代
      sb.setCollapse(true);// 设置将一序列空格由一个单一空格所代替
      sb.setURL(url);//传入要解析的URL
    }catch(ParserException e){
    log.error(e);     }
    return sb.getStrings();
  }
}
红色处为报错我的意思就是输入网址,能够提取该网页纯文本信息,并输出。
那位大大给个程序啊

解决方案 »

  1.   

    这是你自己写的咩?
    log是什么东西?
    log4j的logger?
    报什么错?少包了?
      

  2.   

    这是你自己写的咩?
    log是什么东西?
    log4j的logger?
    报什么错?少包了?
      

  3.   

    log这个对象在你的代码里都没看见定义的地方,你就直接使用了
    另外log.error(e);这行跑异常时因为你先抛出了ParserException 这个异常
    你还是在log.error(e);上边加上一句e.printStackTrace();看看到底是那句抛的异常再说吧。估计到时候就一目了然了
      

  4.   

    我把log.error(e);删除了
    替换为e.printStackTrace();依旧提示错误
    还有get.text那也有问题啊log是用的log4j的,不过就算是我导入包了也没有用啊
    我用的是slf4j-api-1.6.1.jar+log4j-1.2.8.jar组合
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
      

  5.   

    不知道你使用的是什么jar文件,我引用不到org.htmlparser.beans.StringBean
    我在网上找了一个简单的例子。倒是可以保存html内容。 String addr="http://www.baidu.com/";
    URL url = new URL(addr);
    InputStream is = url.openStream();

    String s;
    BufferedReader in = new BufferedReader(new InputStreamReader(is));

    StringBuffer sb = new StringBuffer();

    BufferedWriter out = new BufferedWriter(new FileWriter("f:\\testhtmlout.txt"));

    while((s = in.readLine()) != null) {
    sb.append(s);
    sb.append(System.getProperty("line.separator"));
    }
    out.write(sb.toString());
    out.close();
    in.close();
      

  6.   

    org.htmlparser.visitors.TextExtractingVisitor
    public class TextExtractingVisitor extends NodeVisitor
    Extracts text from a web page. 
    Usage: Parser parser = new Parser(...); 
    TextExtractingVisitor visitor = new TextExtractingVisitor(); 
    parser.visitAllNodesWith(visitor); 
    String textInPage = visitor.getExtractedText();
     
      

  7.   

    回大闹天宫,我要的是纯文本,不要html
    回阿甘,网上有TextExtractingVisitor但是不能提取纯文本,里面还会包含一些空格,回车等其它的
    详见http://www.360doc.com/content/11/0511/02/1947337_115852644.shtml
    但是我用它最后的利用url提取纯文本的方式,编译出错