Posted to tcl by dkf at Thu May 06 10:38:44 GMT 2010view pretty
package require http package require tdom proc getItemTitles {url} { set t [http::geturl $url] set doc [dom parse [http::data $t]] http::cleanup $t set titles {} foreach node [$doc selectNodes /channel/item/title] { lappend titles [$node text] } $doc delete return $titles } array set currentTitles {} proc fetchAndPrint {url} { global currentTitles set titles [getItemTitles $url] if {![info exist currentTitles($url)] || $currentTitles($url) ne $titles} { set currentTitles($url) $titles foreach t $titles { puts "Got item: $t" } } else { puts "no change"; # debug... } } proc every {t script} { uplevel #0 $script after $t [info level 0] } # 60k milliseconds is a minute every 60000 {fetchAndPrint http://rit.me.uk/livescore/cricrss.php} # Run the event loop vwait forever