我正在用Python构建一个简单的基于Web的RSS阅读器,但是我在解析XML时遇到了问题.我从Python命令行中尝试了一些东西开始.
>>> from xml.dom import minidom >>> import urllib2 >>> url ='http://www.digg.com/rss/index.xml' >>> xmldoc = minidom.parse(urllib2.urlopen(url)) >>> channelnode = xmldoc.getElementsByTagName("channel") >>> channelnode = xmldoc.getElementsByTagName("channel") >>> titlenode = channelnode[0].getElementsByTagName("title") >>> print titlenode[0]>>> print titlenode[0].nodeValue None
我玩了一段时间,但nodeValue
一切似乎都是None
.然而,如果你看一下XML,肯定有值.我究竟做错了什么?
对于RSS源,您应该尝试使用Universal Feed Parser库.它简化了RSS提要的处理.
import feedparser d = feedparser.parse('http://www.digg.com/rss/index.xml') title = d.channel.title
这是您正在寻找的语法:
>>> print titlenode[0].firstChild.nodeValue digg.com: Stories / Popular
请注意,节点值是节点本身的逻辑后代.