比如我自己做了一个网站,但想从别的同类型的网站里获的一些有用的信息,用来放到自己的网站里,这能实现吗,用JAVA开发的网站应该怎么去实现啊?

解决方案 »

  1.   

    一般用正则表达式,写个data spider,先学正则表达式,超有用的
      

  2.   

    这个专业点叫做数据挖掘,根据http的请求返回结果中解析出信息
      

  3.   

    你可以利用htmlparser解析包去解析网页,专业准确解析。
      

  4.   

    呵呵,正则表达式会一点点,但不会data spider
      

  5.   

    请问谁有一个类似的例子吗,好像网上的比较难看懂,而且很少有用JAVA做的
      

  6.   

    htmlparser解析百度知道问题
    随便找了一个百度知道的问题。http://zhidao.baidu.com/question/100678146.htmlpackage cn.com.htmlparser.use;  import org.htmlparser.Node; import org.htmlparser.NodeFilter; import org.htmlparser.Parser; import org.htmlparser.PrototypicalNodeFactory; import org.htmlparser.filters.HasAttributeFilter; import org.htmlparser.filters.NodeClassFilter; import org.htmlparser.util.NodeList; import org.htmlparser.util.ParserException;  public class ParserZhidao {      /**      * @author rrong_m      * @param args      * @throws ParserException       */     public static void getQuestionTitle(String url) throws ParserException     {         Parser parser=new Parser(url);         NodeFilter filter=new HasAttributeFilter("id","question_title");         NodeList nodelist=parser.extractAllNodesThatMatch(filter);         System.out.print("问题标题:");         for(Node node:nodelist.toNodeArray())         {             System.out.println(node.toPlainTextString());             System.out.println("=====================================");         }     }     public static void getQuestionSupply(String url) throws ParserException     {         Parser parser=new Parser(url);         NodeFilter filter=new HasAttributeFilter("id","suplycontent");         NodeList nodelist=parser.extractAllNodesThatMatch(filter);         System.out.print("补充说明:");         for(Node node:nodelist.toNodeArray())         {             System.out.println(node.toPlainTextString().trim());             System.out.println("=====================================");         }     }     public static void getBestAnswer(String url) throws ParserException     {         Parser parser=new Parser(url);         NodeFilter filter=new HasAttributeFilter("id","best_answer_content");         NodeList nodelist=parser.extractAllNodesThatMatch(filter);         System.out.print("最佳答案:");         for(Node node:nodelist.toNodeArray())         {             System.out.println(node.toPlainTextString());             System.out.println("=====================================");         }     }     public static void getAnswer(String url) throws ParserException     {         Parser parser=new Parser(url);         PrototypicalNodeFactory p=new PrototypicalNodeFactory();         p.registerTag(new CnTag());         parser.setNodeFactory(p);         NodeFilter filter=new NodeClassFilter(CnTag.class);         NodeList nodelist=parser.extractAllNodesThatMatch(filter);         System.out.println("其他回答:");         for(Node node:nodelist.toNodeArray())         {             System.out.println(node.toPlainTextString());             System.out.println("=====================================");         }     }     public static void main(String[] args) throws ParserException {         getQuestionTitle("http://zhidao.baidu.com/question/100678146.html");         getQuestionSupply("http://zhidao.baidu.com/question/100678146.html");         getBestAnswer("http://zhidao.baidu.com/question/100678146.html");         getAnswer("http://zhidao.baidu.com/question/100678146.html");         }  } 程序很简单。。为了方便的获得其他的所有回答。自定义了一个tagpackage cn.com.htmlparser.use;  import org.htmlparser.tags.CompositeTag;  public class CnTag extends CompositeTag {     private static final String mIds[] = {         "cn"     };     private static final String mEndTagEnders[] = {         "cn"     };      public CnTag()     {     }      public String[] getIds()     {         return mIds;     }     public String[] getEndTagEnders()     {         return mEndTagEnders;     }  } 
    不知道这个算例子不?
    我要注明转载呀~!本站原创文章:转载请注明出处http://htmlparser.com.cn
      

  7.   

    常规的办法,请求它的webservices。看你想获得 什么样子的数据了!