JavaScript 对象表示法是一种流行的方式,将数据格式化,成为人可读的字符串。 JSON 是 JavaScript 程序编写数据结构的原生方式,通常类似于 Python 的 pprint()函数产生的结果。不需要了解 JavaScript,也能处理 JSON 格式的数据。下面是 JSON 格式数据的一个例子:
{"name": "Zophie", "isCat": true,
"miceCaught": 0, "napsTaken": 37.5,
"felineIQ": null}
了解 JSON 是很有用,因为很多网站都提供 JSON 格式的内容,作为程序与网站交互的方式。这就是所谓的提供“应用程序编程接口(API)”。访问 API 和通过URL 访问任何其他网页是一样的。不同的是, API 返回的数据是针对机器格式化的(例如用 JSON), API 不是人容易阅读的。许多网站用 JSON 格式提供数据。 Facebook、 Twitter、 Yahoo、 Google、 Tumblr、Wikipedia、 Flickr、 Data.gov、 Reddit、 IMDb、 Rotten Tomatoes、 LinkedIn 和许多其他流行的网站,都提供 API 让程序使用。有些网站需要注册,这几乎都是免费的。你必须找到文档,了解程序需要请求什么 URL 才能获得想要的数据,以及返回的JSON 数据结构的一般格式。这些文档应在提供 API 的网站上提供,如果它们有“开发者”页面,就去那里找找。
利用 API,可以编程完成下列任务:
• 从网站抓取原始数据(访问 API 通常比下载网页并用 Beautiful Soup 解析 HTML
更方便)。
• 自动从一个社交网络账户下载新的帖子,并发布到另一个账户。例如,可以把
tumblr 的帖子上传到 Facebook。
• 从 IMDb、 Rotten Tomatoes 和维基百科提取数据,放到计算机的一个文本文件
中,为你个人的电影收藏创建一个“电影百科全书”。
可以在 http://nostarch.com/automatestuff/的资源中看到 JSON API 的一些例子。