使用BS4解析XML

时间:2017-01-30 04:22:48

标签: python xml beautifulsoup

我如何获得标签偏角单位下的值?我想在python中使用BeautifulSoup4返回'-6.43798'。

<html><body><maggridresult>
<version>
0.5.0.7
</version>
<result>
<date>
2017.07671
</date>
<latitude units="degree">
42.26042
</latitude>
<longitude units="degree">
-84.46044
</longitude>
<elevation units="km">
0.00000
</elevation>
<declination units="degree">
-6.43798
</declination>
<declination_sv units="degree">
-0.03752
</declination_sv>
<declination_uncertainty units="degree">
0.37303
</declination_uncertainty>
</result>
</maggridresult>
</body></html>

我认为这与查找或查找所有功能有关,但我不确定具体如何实现它。

谢谢!

1 个答案:

答案 0 :(得分:2)

import bs4
html = """your html"""

soup = bs4.BeautifulSoup(html, 'lxml')
soup.find('declination').get_text(strip=True) # strip white-space 

出:

'-6.43798'

find使用标记名称和标记属性作为过滤器。