当前位置: 代码迷 >> HTML/CSS >> htmlparser提取网页本文
  详细解决方案

htmlparser提取网页本文

热度:271   发布时间:2012-12-20 09:53:21.0
htmlparser提取网页正文
Java代码 复制代码
  1. mport?org.htmlparser.Parser;? ??
  2. import?org.htmlparser.beans.StringBean;? ??
  3. import?org.htmlparser.filters.NodeClassFilter;? ??
  4. import?org.htmlparser.parserapplications.StringExtractor;? ??
  5. import?org.htmlparser.tags.BodyTag;? ??
  6. import?org.htmlparser.util.NodeList;? ??
  7. import?org.htmlparser.util.ParserException;? ??
  8. ? ??
  9. public?class?GetContent?{? ??
  10. ???? ??
  11. ????public?void?getContentUsingStringBean(String?url)?{? ??
  12. ????????StringBean?sb?=?new?StringBean();? ??
  13. ????????sb.setLinks(true);??????????? ??
  14. ????????sb.setCollapse(true);?? ??
  15. ????????sb.setReplaceNonBreakingSpaces(true);//?If?true?regular?space? ??
  16. ????????sb.setURL("http://www.blogjava.net/51AOP/archive/2006/07/19/59064.html");? ??
  17. ????????System.out.println("The?Content?is?:\n"?+?sb.getStrings());? ??
  18. ? ??
  19. ????}? ??
  20. ???? ??
  21. ????public?void?getContentUsingStringExtractor(String?url,?boolean?link)?{? ??
  22. ????????StringExtractor?se?=?new?StringExtractor(url);? ??
  23. ????????String?text?=?null;? ??
  24. ????????try?{? ??
  25. ????????????text?=?se.extractStrings(link);? ??
  26. ????????????System.out.println("The?content?is?:\n"?+?text);? ??
  27. ????????}?catch?(ParserException?e)?{? ??
  28. ????????????e.printStackTrace();? ??
  29. ????????}? ??
  30. ????}? ??
  31. ? ??
  32. ????public?void?getContentUsingParser(String?url)?{? ??
  33. ????????NodeList?nl;? ??
  34. ????????try?{? ??
  35. ????????????Parser?p?=?new?Parser(url);? ??
  36. ????????????nl?=?p.parse(new?NodeClassFilter(BodyTag.class));? ??
  37. ????????????BodyTag?bt?=?(BodyTag)?nl.elementAt(0);? ??
  38. ????????????System.out.println(bt.toPlainTextString());? ??
  39. ????????????}?catch?(ParserException?e)?{? ??
  40. ????????????e.printStackTrace();? ??
  41. ????????}? ??
  42. ????}? ??
  43. ???? ??
  44. ????public?static?void?main(String[]?args)?{ ??
  45. ????????GetContent?g?=?new?GetContent(); ??
  46. //??????g.getContentUsingStringBean(""); ??
  47. //??????g.getContentUsingParser("http://www.blogjava.net/51AOP/archive/2006/07/19/59064.html"); ??
  48. ????????g.getContentUsingStringExtractor("http://www.sina.com.cn/",?false); ??
  49. ????}??