我使用的是pinnacle(下注)api,它返回一个XML文件。目前,我将其保存到一个.xml文件中,如下所示:
req = urllib2.Request(url, headers=headers)
responseData = urllib2.urlopen(req).read()
ofn = 'pinnacle_feed_basketball.xml'
with open(ofn, 'w') as ofile:
ofile.write(responseData)
parse_xml()
然后在parse\u xml函数中打开它
tree = etree.parse("pinnacle_feed_basketball.xml")
fdtime = tree.xpath('//rsp/fd/fdTime/text()')
我假设将它保存为XML文件,然后不必读入该文件,但如果不这样做,我就无法让它工作。你知道吗
我尝试将responseData
传递给parsexml()
函数
parse_xml(responseData)
然后在函数中
tree = etree.parse(responseData)
fdtime = tree.xpath('//rsp/fd/fdTime/text()')
但它不起作用。你知道吗
^{} 设计为从file-like objects读取。你知道吗
但是在这两种情况下都传递一个字符串-
pinnacle_feed_basketball.xml
字符串和responseData
,这也是一个字符串。你知道吗在第一种情况下,应该是:
在第二种情况下:
仅供参考,
urllib2.urlopen(req)
也是一个类似文件的对象:如果要解析内存中的对象(在本例中是字符串),请使用
etree.fromstring(<obj>)
etree.parse
需要类似文件的对象或文件名Docs例如:
输出:
相关问题 更多 >
编程相关推荐