1 2 import java.io.*; 3 import java.net.*; 4 import java.util.*; 5 import bplatt.spider.*; 6 7 public class SimpleSiteMapGen { 8 private String site; 9 private final static String header = "<html><head><title>Site Map</title></head><body><ul>"; 10 private final static String trailer = "</ul></body></html>"; 11 12 public static void main(String [] args) { 13 if (args.length != 1) { 14 System.err.println("java SimpleSiteMapGen <url>"); 15 System.exit(-1); 16 } 17 SimpleSiteMapGen s = new SimpleSiteMapGen(args[0]); 18 s.generate(); 19 } 20 21 public SimpleSiteMapGen(String site) { 22 this.site = site; 23 } 24 25 public void generate() { 26 MySpider spider = null; 27 try { spider = new MySpider(site); } 28 catch(MalformedURLException e) { 29 System.err.println(e); 30 System.err.println("Invalid URL: "+site); 31 return; 32 } 33 System.out.println(header); 34 spider.traverse(); 35 System.out.println(trailer); 36 } 37 } 38 39 class MySpider extends Arachnid { 40 public MySpider(String base) throws MalformedURLException 41 { super(base); } 42 43 protected void handleLink(PageInfo p) { 44 String link = p.getUrl().toString(); 45 String title = p.getTitle(); 46 if (link == null || title == null || link.length() == 0 || title.length() ==0) return; 47 else System.out.println("<li><a HREF=\""+link+"\">"+title+"</a></li>"); 48 } 49 protected void handleBadLink(URL url,URL parent, PageInfo p) { } 50 protected void handleBadIO(URL url, URL parent) { } 51 protected void handleNonHTMLlink(URL url, URL parent,PageInfo p) { } 52 protected void handleExternalLink(URL url, URL parent) { } 53 } | Popular Tags |