日期:2014-05-17 浏览次数:20594 次
代码很简单,写出了如何标签内容和标签里的属性会值。
?
public class ZolParser { public static void main(String[] args) throws Exception { /** 开始时间 */ long now = System.currentTimeMillis(); // 获取源代码 String htmlCode = setHtmlCode(); /** 获取标题 */ getTitle(htmlCode); /** 获取关键字 */ getkeywords(htmlCode); /** 结束时间 */ long current = System.currentTimeMillis(); // 消耗时间 System.out.println("全文消耗时间:" + (current - now)); } /** * 获取HTML代码 * * @return * @throws Exception */ public static String setHtmlCode() throws Exception { /** 通过HttpParser解析器解析HTML */ Parser parsers = new Parser("http://www.zol.com.cn/"); // 设置编码 parsers.setEncoding("gb2312"); // 设置标签过滤器 NodeFilter filter = new TagNameFilter("html"); // 过滤标签 NodeList nList = parsers.extractAllNodesThatMatch(filter); // 返回字符串 return nList.toHtml(); } /** * 获取标题信息 * * @param htmlCode * @throws ParserException */ public static void getTitle(String htmlCode) throws ParserException { Parser parser = new Parser(); parser.setInputHTML(htmlCode); /* 配置过滤器 */ NodeFilter filter = new NodeClassFilter(TitleTag.class); NodeList nodeList = parser.extractAllNodesThatMatch(filter); /** 输出信息 */ System.out.println("标题: "+nodeList.elementAt(0).toPlainTextString()); } /** * 获取关键字信息 * * @param htmlCode * @throws ParserException */ public static void getkeywords(String htmlCode) throws ParserException { Parser parser = new Parser(); parser.setInputHTML(htmlCode); /* 配置过滤器 */ NodeFilter filter = new AndFilter(new NodeClassFilter(MetaTag.class), new HasAttributeFilter("name", "keywords")); NodeList nodeList = parser.extractAllNodesThatMatch(filter); /** 输出信息 */ if (nodeList.size() > 0) { System.out.println("关键字: "+((TagNode) nodeList.elementAt(0)).getAttribute("content")); } } }
?
?
?
?