現在的API接口多為xml或json,json解析更簡潔相對xml來說
以豆瓣的API接口為例,解析返回的json數據:
https://api.douban.com/v2/book/1220562
{
"id":"1220562",
"alt":"http:\/\/book.douban.com\/book\/1220562",
"rating":{"max":10, "average":"7.0", "numRaters":282, "min":0},
"author":[{"name":"片山恭一"}, {"name":"豫人"}],
"alt_title":"",
"image":"http:\/\/img1.douban.com\/spic\/s1747553.jpg",
"title":"滿月之夜白鯨現",
"mobile_link":"http:\/\/m.douban.com\/book\/subject\/1220562\/",
"summary":"那一年,是聽莫扎特、釣鱸魚和家庭破裂的一年。說到家庭破裂,母親怪自己當初沒有找到好男人,父親則認為當時是被狐狸精迷住了眼,失常的是母親,但出問題的是父親……。",
"attrs":{
"publisher":["青島出版社"],
"pubdate":["2005-01-01"],
"author":["片山恭一", "豫人"],
"price":["18.00元"],
"title":["滿月之夜白鯨現"],
"binding":["平裝(無盤)"],
"translator":["豫人"],
"pages":["180"]
},
"tags":[
{"count":106, "name":"片山恭一"},
{"count":50, "name":"日本"},
{"count":42, "name":"日本文學"},
{"count":30, "name":"滿月之夜白鯨現"},
{"count":28, "name":"小說"},
{"count":10, "name":"愛情"},
{"count":7, "name":"純愛"},
{"count":6, "name":"外國文學"}
]
}
用Python解析我們想要的數據如:id、rating里的max 、tags第一行的name值
import urllib2
import json
html = urllib2.urlopen(r'https://api.douban.com/v2/book/1220562')
hjson = json.loads(html.read())
print hjson['id']
print hjson['rating']['max']
print hjson['tags'][0]['name']
結果圖:
本文轉自http://blog.csdn.net/zwto1/article/details/39829067