2016-05-17 87 views
0

我是第二年计算机科学的学生,试图学习如何使用python和Jason查询API(特别是世界银行API),以最终构建GUI。起初,我只是试图从网站获取信息以便打印到控制台。我正在寻找可以教我如何做到这一点的资源(书籍,网站)。Python,JSON和网站的API

+0

这是关于世界银行的API特别是关于json API的一般吗?无论哪种方式,开始的好地方是[世界银行官方文件](http://data.worldbank.org/developers/api-overview)。 –

+0

这是关于json API的一般问题 – IntegrateThis

+0

'import requests','r = requests.get(“some.url/file.json”)','my_dict = r.json()' – L3viathan

回答

0

我认为你对这样的API有错误的想法。你不需要阅读任何书籍来使用API​​,这不是火箭科学。你正在做的是通过HTTP请求从服务器请求一些数据。与下载常规网站几乎没有什么不同。在最简单的情况下,使用一个API可以只用两行代码来完成:

import urllib2 
response= urrlib2.urlopen('url.to/api').read() 

在你的情况下,URL会像http://api.worldbank.org/countries?per_page=10&incomeLevel=LIC

有时需要将参数传递给API。这通常使用query strings-由&分开的parameter=value对。上面的网址有2个:per_page=10incomeLevel=LIC。当然,可用参数取决于您正在使用的API。这就是阅读API文档非常重要的原因。读取文档显示服务器默认发送XML格式的响应,并且我们必须通过参数format=json才能收到JSON响应:http://api.worldbank.org/countries?per_page=10&incomeLevel=LIC&format=json

最后,我们必须解析服务器的响应。由于我们已经请求了JSON格式的数据,我们可以使用:

import json 
parsed= json.loads(response) 

这就是它的全部。仅有5行代码。

import urllib2 
import json 

# request data from the API 
response= urllib2.urlopen('http://api.worldbank.org/countries?per_page=10&incomeLevel=LIC&format=json') 

# parse the response 
response= json.load(response) 

# do something with it 
print response