lxml - 返回已清理对象的函数,而不仅仅是字符串

时间:2012-04-27 08:08:41

标签: python xml django lxml

以下是一些代码:

from lxml import etree
url = 'http://www.google.com/ig/api?stock=aapl'
data = etree.parse(url) 
root = data.getroot()
finance = root[0]


def clean(var, num):
    var = str(finance[num].attrib).split("'")[-2]
    print var

我想将变量作为一个对象返回,我稍后可以调用它。

我知道问题是什么 - str() - 但是不知道如何修复它因为直接使用变量不允许我使用.attrib和{{进行必要的操作1}}

1 个答案:

答案 0 :(得分:1)

假设您想从XML收集信息,请执行以下操作:

data = dict()
for elem in finance:
    data[elem.tag] = elem.attrib['data']

您将获得data变量中的字典,如:

{'symbol': 'AAPL', 'company': 'Apple Inc.', 'currency': 'USD', 'volume': '19145182' ... }

您将能够访问特定的信息:

print data['company']