我使用本网站https://api.projectnimbus.org/neaodataservice.svc/NowcastSet中的beautifulsoup提取此代码?
显示所有位置后,如何将其打印到密钥对值?喜欢位置:Ang Mo Kio 纬度:1.3546846 经度:103.564132?
from BeautifulSoup import BeautifulStoneSoup #Using bs3
import urllib2
url="https://api.projectnimbus.org/neaodataservice.svc/NowcastSet"
request = urllib2.Request(url)
request.add_header("accept", "*/*")
request.add_header('AccountKey', "OSJeROQjTg4v7Ec3kiecjw==")
request.add_header('UniqueUserID', "00000000000000000000000000000001")
result = urllib2.urlopen(request)
xml_str = result.read()
soup = BeautifulStoneSoup(xml_str)
prop_list = []
for content in soup.findAll("m:properties"):
props = {}
for prop in content.findChildren():
props[prop.name[2:]] = prop.text
prop_list.append(props)
print prop_list
答案 0 :(得分:0)
soup.find
仅返回第一个匹配项,因此您需要soup.findAll
。至于漂亮的印刷品,您可以使用pprint
。
答案 1 :(得分:0)
修改:
import urllib2
from BeautifulSoup import BeautifulStoneSoup #Using bs3
url="https://api.projectnimbus.org/neaodataservice.svc/NowcastSet"
request = urllib2.Request(url)
request.add_header("accept", "*/*")
request.add_header('AccountKey', "OSJeROQjTg4v7Ec3kiecjw==")
request.add_header('UniqueUserID', "00000000000000000000000000000001")
result = urllib2.urlopen(request)
xml_str = result.read()
soup = BeautifulStoneSoup(xml_str)
prop_list = []
for content in soup.findAll("m:properties"):
props = {}
for prop in content.findChildren():
props[prop.name[2:]] = prop.text
prop_list.append(props)
for prop in prop_list:
print "Area: %(area)s\nLat: %(latitude)s\nLong: %(longitude)s\n" % prop