Posted to tcl by dkf at Thu May 06 10:38:44 GMT 2010view raw
- 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