home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 December / PCO1297.ISO / FilesBBS / FREI / JAVA3.ARJ / JAVA3.ZIP / CLASS / SearchEngineSpider.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-06  |  2.5 KB  |  64 lines

  1. import java.net.URL;
  2. import java.util.Enumeration;
  3. import java.util.Properties;
  4.  
  5. class SearchEngineSpider {
  6.    URL home;
  7.    String homes;
  8.    Properties done;
  9.    Properties todo;
  10.  
  11.    SearchEngineSpider(URL var1, String var2) {
  12.       this.home = var1;
  13.       this.done = new Properties();
  14.       this.todo = new Properties();
  15.       this.homes = var1.toString();
  16.       this.follow(var1, var2);
  17.    }
  18.  
  19.    public void follow(URL var1, String var2) {
  20.       int var3 = var2.lastIndexOf(35);
  21.       if (var3 >= 0) {
  22.          var2 = var2.substring(0, var3);
  23.       }
  24.  
  25.       try {
  26.          URL var4 = new URL(var1, var2);
  27.          String var5 = var4.toString();
  28.          if (this.done.get(var5) == null) {
  29.             this.todo.put(var5, "");
  30.             return;
  31.          }
  32.       } catch (Exception var6) {
  33.       }
  34.  
  35.    }
  36.  
  37.    void run(SearchEngineGenerator var1) {
  38.       Enumeration var2;
  39.       while((var2 = this.todo.keys()).hasMoreElements()) {
  40.          String var3 = (String)var2.nextElement();
  41.          this.todo.remove(var3);
  42.          this.done.put(var3, "");
  43.  
  44.          try {
  45.             URL var4 = new URL(var3);
  46.             String var5 = var4.toString();
  47.             String var6 = var5.toUpperCase();
  48.             if (!var5.startsWith(this.homes)) {
  49.                System.out.println("Ignoriere externen Link " + var5);
  50.             } else if (!var6.endsWith("/") && !var6.endsWith(".HTM") && !var6.endsWith(".TXT") && !var6.endsWith(".HTML") && !var6.endsWith(".SHTML")) {
  51.                System.out.println("Ignoriere Link mit unbekannter Erweiterung: " + var5);
  52.             } else {
  53.                System.out.println("Indiziere " + var5);
  54.                DocumentParser var7 = new DocumentParser(var1, var4.openStream(), this, var4);
  55.                var7.parse(var3.substring(this.homes.length()));
  56.             }
  57.          } catch (Exception var8) {
  58.             System.err.println("Exception: " + ((Throwable)var8).getMessage());
  59.          }
  60.       }
  61.  
  62.    }
  63. }
  64.