html解析页面中的A标签

在heritrix中的自定义继承Extractor的类中,参考那本《开发自己的搜索引擎里》书里的代码,不能很好的解析出页面中的A标签中的url,就用htmlparser来解析出A标签里的url,果然好用。代码如下

private  void filterURL(String source,CrawlURI curi)
	{
		try {
			Parser parser = new Parser(source);
			NodeFilter linkFilter = new NodeClassFilter(LinkTag.class);
			NodeList linkList = parser.extractAllNodesThatMatch(linkFilter);
			String url = null;
			for( int i=0; i<linkList.size(); i++)
			{
				LinkTag node = (LinkTag) linkList.elementAt(i);
				url = node.extractLink();
				if(url.matches(PATTERN_STOCK_NEW)) //匹配规则
				{
					//System.out.println(url);
					//若是,则将链接添加到队列中,以备后续处理
					addLinkFromString(curi,url,"",Link.NAVLINK_HOP);
				}
				//System.out.println(url);
			}
		} catch (ParserException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}


猜你喜欢

转载自qzxfl008.iteye.com/blog/1236495