# Uber thanks to http://www.xml.com/lpt/a/2002/12/18/dive-into-xml.html from xml.dom import minidom import urllib import sys DEFAULT_NAMESPACES = \ (None, # RSS 0.91, 0.92, 0.93, 0.94, 2.0 'http://purl.org/rss/1.0/', # RSS 1.0 'http://my.netscape.com/rdf/simple/0.9/' # RSS 0.90 ) def load(rssURL): return minidom.parse(urllib.urlopen(rssURL)) def getElementsByTagName(node, tagName): children = node.getElementsByTagName(tagName) if len(children): return children return [] def first(node, tagName): children = getElementsByTagName(node, tagName) return len(children) and children[0] or None def textOf(node): return node and "".join([child.data for child in node.childNodes]) or "" if __name__ == '__main__': # rssDocument = load('http://www.mudbytes.net/index.php?a=rssfeed') rssDocument = load(sys.argv[1]); fileObj = open(sys.argv[2],"w"); for item in getElementsByTagName(rssDocument, 'item'): fileObj.write( "#POST\n" ); fileObj.write( textOf(first(item,'category')) + "~\n" ) fileObj.write( textOf(first(item,'title')) + "~\n" ); fileObj.write( textOf(first(item,'author')) + "~\n" ); fileObj.write( textOf(first(item,'link')) + "~\n" ); fileObj.write( textOf(first(item,'feedburner:origLink')) + "~\n" ); fileObj.write( "#END\n" ); fileObj.close();