我正在尝试打印这个XML http://api.cbssports.com/fantasy/players/list?version=3.0&SPORT=basketball中每个玩家的名字、姓氏、proteam和标题。
到目前为止,这是我的代码,但不起作用
from urllib2 import Request, urlopen, URLError
import xml.etree.ElementTree as ET
request = Request('http://api.cbssports.com/fantasy/players/list?version=3.0&SPORT=basketball')
try:
response = urlopen(request)
tree = ET.parse(response)
root = tree.getroot()
for player in root.findall('.//players'):
firstname = player.find('firstname').text
lastname = player.find('lastname').text
print firstname, lastname
except URLError, e:
print 'error:', e
我相信错误出现在for循环语句中,因为名字不是玩家的直接子项,它的父名是player id。
发布于 2015-03-18 22:22:24
准备双斜杠以搜索上下文中的任何位置,当前元素。您需要迭代player
元素,而不是players
。
for player in root.findall('.//players/player'):
firstname = player.findtext('.//firstname')
lastname = player.findtext('.//lastname')
https://stackoverflow.com/questions/29133782
复制相似问题