HtmlParser实例

HtmlParser有三种解析方式,visitor模式,filter模式,bean模式
filter模式
public List<URL> parserByFilter(URL url) throws ParserException, MalformedURLException{
		List<URL> result = new ArrayList<URL>();
		Parser parser = new Parser();
		parser.setURL(url.toString());
          //设置编码
		parser.setEncoding(parser.getEncoding());
		NodeFilter filter = new NodeClassFilter(LinkTag.class);//过滤器
		NodeList list = parser.extractAllNodesThatMatch(filter);//过滤所有链接
           //遍历结果
		for(int i=0;i<list.size();i++){
			LinkTag tag = (LinkTag) list.elementAt(i);
			if(tag.getLink().startsWith("http://")){
				URL link = new URL(tag.getLink());
				result.add(link);
			}
			System.out.println(tag.getLink());
		}
		return result;
		
	}

visitor模式:
	public void parserByVisitor() throws Exception{
		Parser parser = new Parser();
		parser.setURL("http://www.baidu.com");
		System.out.println(parser.getEncoding());
		NodeVisitor visitor = new NodeVisitor() {
		
			@Override
			public void visitTag(Tag tag) {
				System.out.println(tag.getTagName());
				if(tag.getTagName().equals("META")){
					System.out.println(tag.getAttributeEx("content").getValue());
				}
			}
		
		};
		
		parser.visitAllNodesWith(visitor);

bean模式不想用。。。。。

你可能感兴趣的:(java,bean)