![441f514d9a55a03dcf7f821b880e872a.png](https://i-blog.csdnimg.cn/blog_migrate/a05f5f5f318388a1542c295243c65330.png)
作者:国服帅座 经济学在读硕士
知乎ID:国服帅座
有了高德地图的导航,我们能踏遍祖国的绿水青山。其实,高德本身也是一座金山银山,蕴藏着丰富的数据资源。至于国服帅座,愿为一枚小小的数据搬运工。认识高德地图API
打开“高德开放平台”,点击“开发文档”,在“Web服务”中寻找“天气查询”。
![b967ea448d36408a274868804b30339e.png](https://i-blog.csdnimg.cn/blog_migrate/31c4d08c3040902c2482f347bf939f8c.jpeg)
之前爬取经纬度时,我们曾使用过“地理编码”的API。同样,我们在调用“天气查询”API时,需要考虑到参数的设置。这里的参数比较少,合计只有四个:
- key:高德密钥,先行注册的;
- city:城市编码,即个人身份证号码前6位;
- extensions:返回实时天气(base),或者预报未来三日天气(all);
- output:默认输出格式为JSON,这正是笔者期望的。
![366da6d82dab84650b32fb2ef83fef11.png](https://i-blog.csdnimg.cn/blog_migrate/22b966fe335ca913836ab04d508c8070.jpeg)
预告浦口区的天气
以南京市浦口区为例,了解Python如何调用高德地图API爬取天气预报。
import requests
import json
import pandas as pd
from pandas import Series, DataFrame
url = 'https://restapi.amap.com/v3/weather/weatherInfo'
params = {'key': '你的高德密钥', # 你的密钥
'city': '320111', # 以南京市浦口区为例
'extensions': 'all'} # 此处选择参数值为 all
res = requests.get(url,params)
# res.text
jd = json.loads(res.text) # 将json格式转换为Python能读取的格式
tianqi = DataFrame(jd['forecasts'][0]['casts']) # 提取天气信息
tianqi.columns = ['日期','白天风力','白天温度','白天天气','白天风向',
'夜间风力','夜间温度','夜间天气','夜间风向','星期几']
tianqi # 将列名修改为中文,便于理解
显示结果如下图所示,包括了当天(1月23日)以及未来三天的日间和夜间的多项天气指标。
![2a481a4e8acacac8f9453d657c97508c.png](https://i-blog.csdnimg.cn/blog_migrate/a84a9946c18b30fb97c347bf6a17f428.jpeg)
整合为函数
为了更方便获取城市的天气情况,我们将上面步骤整合为一个函数。只要在函数的自变量位置输入该城市编码,便能直接输出该地当天以及未来三天的天气状况。deftianqi(city):
url = 'https://restapi.amap.com/v3/weather/weatherInfo'
params = {'key': '你的高德密钥',
'city': city,
'extensions': 'all'}
res = requests.get(url,params)
jd = json.loads(res.text)
results = DataFrame(jd['forecasts'][0]['casts'])
results.columns = ['日期','白天风力','白天温度','白天天气','白天风向',
'夜间风力','夜间温度','夜间天气','夜间风向','星期几']
return results
我们可以把浦口区的地理编码代入,核实函数设置是否准确。
往期精彩传送
爬虫三步走--以R语言爬取经纬度为例mp.weixin.qq.com![v2-2d9ceed78978badf52f685b50ced44c6_ipico.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=eefc8222-f138-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-2d9ceed78978badf52f685b50ced44c6_ipico.jpg)
![v2-2d9ceed78978badf52f685b50ced44c6_ipico.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=eefc8222-f138-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-2d9ceed78978badf52f685b50ced44c6_ipico.jpg)
![v2-2d9ceed78978badf52f685b50ced44c6_ipico.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=eefc8222-f138-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-2d9ceed78978badf52f685b50ced44c6_ipico.jpg)
![v2-2d9ceed78978badf52f685b50ced44c6_ipico.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=eefc8222-f138-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-2d9ceed78978badf52f685b50ced44c6_ipico.jpg)
![3ed023ab7151b62b0a15481d0e02abc7.png](https://i-blog.csdnimg.cn/blog_migrate/4508e40b25db91c689030464bab28b1b.jpeg)