#!/usr/bin/tclsh
-# $Id: robot.tcl,v 1.2 1998/10/15 12:31:03 adam Exp $
+# $Id: robot.tcl,v 1.3 1998/10/15 13:27:19 adam Exp $
#
proc RobotFileNext {area} {
if {[catch {set ns [glob ${area}/*]}]} {
proc RobotSave {url} {
global URL
+ global domains
set out [RobotFileOpen visited $URL($url,host) $URL($url,path)]
set ti 0
if {[regexp {^\#} $parm(href)]} {
continue
} elseif {[regexp {^([^:]+):([^#]+)} $parm(href) x method hpath]} {
+ set ok 0
if {![string compare $method http]} {
if {![regexp {^//([^/]+)(.*)} $hpath x host path]} {
set host $URL($url,host)
set path $hpath
}
- if {![regexp {\.indexdata\.dk$} $host]} continue
- } else {
- continue
+ foreach domain $domains {
+ if {[string match $domain $host]} {
+ set ok 1
+ break
+ }
+ }
}
+ if {!$ok} continue
} elseif {[regexp {^([/~][^#]*)} $parm(href) x path]} {
set host $URL($url,host)
set method http
set port 80
puts "---------"
puts $url
- if {[regexp {([^:]+)://([^/]+)([^ ?]*)} $url x method host path]} {
+ if {[regexp {([^:]+)://([^/]+)([^ ]*)} $url x method host path]} {
puts "method=$method host=$host path=$path"
} else {
return -1
}
}
-if {![llength $argv]} {
- puts "Tclrobot: specify one or more sites."
+if {[llength $argv] < 2} {
+ puts "Tclrobot: usage <domain> <start>"
exit 1
}
-foreach site $argv {
+set domains [lindex $argv 0]
+set site [lindex $argv 1]
+if {[string length $site]} {
set x [RobotFileOpen unvisited $site /]
close $x
}
+
RobotRestart
vwait forever