BeautifulSoup不解析标签的内容,如包含' - '的名字

时间:2013-10-06 21:59:48

标签: python xml beautifulsoup

您好我有下面的回复

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<person>
<first-name>hede</first-name>
<last-name>hodo</last-name>
<headline>Python Developer at hede</headline>
<site-standard-profile-request>
<url>http://www.linkedin.com/profile/view?id=hede&amp;authType=godasd*</url>
</site-standard-profile-request>
</person>

我想解析从linkedin api返回的内容。

我正在使用下面的beautifulsoup

ipdb> hede = BeautifulSoup(response.content)
ipdb> hede.person.headline
<headline>Python Developer at hede</headline>

但是当我做的时候

ipdb> hede.person.first-name
*** NameError: name 'name' is not defined

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

Python属性名称不能包含连字符。 而是使用

hede.person.findChild('first-name')

另外,要使用BeautifulSoup解析XML,请使用

hede = bs.BeautifulSoup(content, 'xml')

或者如果您安装了lxml

hede = bs.BeautifulSoup(content, 'lxml')