日期:2014-05-17 浏览次数:20713 次
代码很简单,写出了如何标签内容和标签里的属性会值。
?
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"));
}
}
}
?
?
?
?