#lang scheme/base (require net/url xml zwizwa/plt/xml-tools zwizwa/plt/seq-tools scheme/promise scheme/match scheme/cmdline ) (provide (all-defined-out)) (define (any->url str) (let ((url (string->url str))) (set-url-scheme! url "http") ;; none of this itpc crap url)) (define (get-rss str) (document-element (read-xml (get-pure-port (any->url str))))) ;; For itunes we're interested in rss/item ;; Each item's 'link, and maybe 'title (define (itunes-urls rss [path '(link item channel rss)]) (for ((el (select-element-path path rss))) (printf "~a\n" (element-string el)))) ;; (itunes-urls (get-rss "http://www.sciencemag.org/rss/podcast.xml")) ;; (itunes-urls (get-rss "http://ted.org/talks/podtv/id/490"))