怎样获得别人网站的一些信息 比如我自己做了一个网站,但想从别的同类型的网站里获的一些有用的信息,用来放到自己的网站里,这能实现吗,用JAVA开发的网站应该怎么去实现啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般用正则表达式,写个data spider,先学正则表达式,超有用的 这个专业点叫做数据挖掘,根据http的请求返回结果中解析出信息 你可以利用htmlparser解析包去解析网页,专业准确解析。 呵呵,正则表达式会一点点,但不会data spider 请问谁有一个类似的例子吗,好像网上的比较难看懂,而且很少有用JAVA做的 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 常规的办法,请求它的webservices。看你想获得 什么样子的数据了! js给二维数组赋值问题!急。。。。 谁能帮忙,急!! 如何将JSP的参数传递到ASP? 请问formula one 怎样自动换行? 表达式语言为何不好用 急呀,关于下载的问题,怎样才能把一个文件夹下的所有文件以列表的形式排列出来(包括中文的),点击下载,可以删除 求mysql+jsp+javascript的动态树型菜单源码。 win2k下忘了weblogic密码怎么办? jsp语法中可以调用javascript的函数吗? js 中创建html标签的问题 求一份jsp+hibernate简单的毕业设计 关于freemarker模板问题
随便找了一个百度知道的问题。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