我已经得到了我使用Xapi检索快餐店一些OSM数据,并here是一些示例结果:BeautifulSoup发现XML标签
<osm version="0.6" generator="Osmosis SNAPSHOT-r26564">
<node id="486275964" version="4" timestamp="2010-05-03T08:21:42Z" uid="12055" user="aude" changeset="4592597" lat="38.8959533" lon="-77.0212458">
<tag k="name" v="Potato Valley Cafe"/>
<tag k="amenity" v="fast_food"/>
</node>
<node id="486275966" version="4" timestamp="2010-08-06T16:44:13Z" uid="207745" user="NE2" changeset="5418228" lat="38.8959399" lon="-77.0196338">
<tag k="cuisine" v="burger"/>
<tag k="name" v="McDonald's"/>
<tag k="amenity" v="fast_food"/>
</node>
<node id="612190923" version="1" timestamp="2010-01-12T14:01:27Z" uid="111209" user="cov" changeset="3603297" lat="38.893683" lon="-77.0292732">
<tag k="level" v="-1"/>
<tag k="cuisine" v="sandwich"/>
<tag k="name" v="Quizno's"/>
<tag k="amenity" v="fast_food"/>
</node>
</osm>
<!--corrected indentation-->
我试图用BeautifulSoup在Python中提取拉特,长,名称和美食。我可以用这个代码得到lat和长没有问题:
soup = BeautifulSoup(results)
takeaways = soup.findAll('node')
for eachtakeaway in takeaways:
longitude = str(eachtakeaway['lon'])
lattitude = str(eachtakeaway['lat'])
但我不能得到名称:
name = str(eachtakeaway['name'])
其中抛出了错误:
TypeError: 'NoneType' object is not callable
灿你告诉我该怎么办?谢谢。
bs4有一个xml模式。围绕为什么要使用XML模式,在这样一个实例任何想法? – kalu
@kalu我BS4的经验是有限的,但我在BS4 XML模式支持XML命名空间,区分大小写标签处理等XML的细节的印象是。我不能保证这一点,因为我只从朋友/同事交谈图纸,也没有研究此事。 – That1Guy