
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
第3章 用API爬取天气预报数据
3.1 注册免费API和阅读技术文档
本章示例接口为某天气预报网站,该网站为个人开发者提供免费的预报数据(有访问次数限制)。
读者可自行访问官网注册,注册后在控制台可以看到个人认证key(密钥),其为访问API的钥匙,如图3-1所示。

图3-1
获取个人认证key之后,下一步是阅读API说明(开发者)文档。
免费用户只能访问一个服务器节点,其对应的接口地址如图3-2所示。

图3-2
接下来了解调用接口的方法。一般首次阅读说明文档时最好按次序阅读,从图3-3中可以看出这里共有3个参数。
(1)city:代表城市,可以用汉字、拼音、城市代码、经纬度。
(2)key:代表用户的密钥。
(3)lang:代表语言,该参数默认为中文,而且是可选参数。
了解参数后,这里确定要使用的参数是city和key。根据提示,组合接口地址(见图3-3中的请求URL示例)。

图3-3
只要编写代码访问接口地址,就可以返回数据。服务器返回的数据是JSON格式的数据,也就是Python中的字典。
通过阅读城市代码内容可以知道,API提供了3181个城市的天气预报,如图3-4所示。

图3-4
城市代码可以复制到本地文件,也可以通过requests.get()方法直接从网上获取,如图3-5所示。

图3-5