你在那里有一个原子提要,所以我会用它feedparser
来处理它:
import feedparser
result = feedparser.parse('https://gdata.youtube.com/feeds/api/videos/Ej4_G-E1cAM/comments')
for entry in result.entries:
print entry.author
这打印:
FreebieFM
micromicros
FreebieFM
Sarah Grimstone
FreebieFM
# etc.
Feedparser 是一个外部库,但易于安装。如果您只能使用标准库,则可以使用ElementTree
API,但要解析 Atom 提要,您需要在解析器中包含 HTML 实体,并且您必须处理命名空间(不是ElementTree
的强项):
from urllib2 import urlopen
from xml.etree import ElementTree
response = urlopen('https://gdata.youtube.com/feeds/api/videos/Ej4_G-E1cAM/comments')
tree = ElementTree.parse(response)
nsmap = {'a': 'http://www.w3.org/2005/Atom'}
for author in tree.findall('.//a:author/a:name', namespaces=nsmap):
print author.text
nsmap
字典允许将前缀ElementTree
转换a:
为这些元素的正确命名空间。