htmlparsergetpageurls.java

来自「Lucene+nuctch一书的全部源码 测试源码 和几个简单的项目」· Java 代码 · 共 67 行

JAVA
67
字号
package chapter9;

import org.htmlparser.util.*;
import org.htmlparser.Parser;
import org.htmlparser.filters.*;
import org.htmlparser.tags.LinkTag;
import org.htmlparser.NodeFilter;
import org.htmlparser.nodes.TextNode;
import org.htmlparser.lexer.*;
import org.htmlparser.lexer.Stream;
import org.htmlparser.Node;
import java.io.*;
import java.net.*;

import org.htmlparser.http.ConnectionManager;
import org.htmlparser.visitors.TextExtractingVisitor;
import org.htmlparser.filters.TagNameFilter;
import org.htmlparser.filters.HasSiblingFilter;

import org.htmlparser.util.ParserException;


public class HtmlParserGetPageUrls {

	  public static void main (String[] args) throws ParserException
	  {
		  
		  try {
  
			  getHtmlUrls("http://www.bnu.edu.cn/","GB2312");
		  } catch(ParserException e)
		  {
			  e.printStackTrace();
		  }
 	  }
	  
	  public static void getHtmlUrls(String url , String pageEncoding)  throws ParserException
	  { 
		  NodeList nodeList = null;
		  
		  try { 
			   Parser parser = new Parser(url);
		       parser.setEncoding(pageEncoding);                            // 设置解析编码格式
			   // 可以使用下面filter来取出url连接
			    //nodeList = parser.parse(new TagNameFilter("A"));          // 使用TagNameFilter
			   nodeList = parser.parse(new NodeClassFilter(LinkTag.class)); // 使用NodeClassFilter
			   } catch (ParserException e) { 
				   e.printStackTrace();
			   }
			   
			  if(nodeList != null && nodeList.size() > 0) {                 // 循环遍历每个Url节点
				   for(int i = 0; i < nodeList.size(); i ++) {
					   String urlLink = ((LinkTag)nodeList.elementAt(i)).extractLink();
					   String LinkName = ((LinkTag)nodeList.elementAt(i)).getLinkText();
					   
					   if( urlLink.indexOf("bnu") == 0 || urlLink.indexOf("http") == 0 )
						   //System.out.println(LinkName +" : "+ urlLink);
						   System.out.println( urlLink );
				    }
			  }		  
  
	  }


}	 	  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?