Python,JSON和网站的API

时间:2016-05-17 16:28:03

标签: python json api

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

1 个答案:

答案 0 :(得分:0)

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

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

在您的情况下,网址将类似于http://api.worldbank.org/countries?per_page=10&incomeLevel=LIC

有时需要将参数传递给API。这通常使用query strings - 由parameter=value分隔的&对完成。上面的网址包含以下两个: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