HtmlParserGetPageUrls.java
上传用户:cctqzzy
上传日期:2022-03-14
资源大小:12198k
文件大小:2k
- 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 );
- }
- }
-
- }
- }