KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > SimpleSiteMapGen


1 /** A very simple example program using Arachnid framework */
2 import java.io.*;
3 import java.net.*;
4 import java.util.*;
5 import bplatt.spider.*;
6
7 public class SimpleSiteMapGen {
8     private String JavaDoc site;
9     private final static String JavaDoc header = "<html><head><title>Site Map</title></head><body><ul>";
10     private final static String JavaDoc trailer = "</ul></body></html>";
11      
12     public static void main(String JavaDoc[] 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 JavaDoc 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 JavaDoc base) throws MalformedURLException
41     { super(base); }
42     
43     protected void handleLink(PageInfo p) {
44         String JavaDoc link = p.getUrl().toString();
45         String JavaDoc 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