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 的一些例子。