作者:国服帅座 经济学在读硕士
知乎专栏:
https://zhuanlan.zhihu.com/c_1051263791760863232
认识高德地图API在先前的文章中,我们曾了解过如何在高德地图上爬取某地未来三日的天气预报情况。在本文中,我们要使用的是同一个API,获得全国各区县的实时气温。唯一的区别在于,欲返回实时气温,参数extensions应填base。
本文撰写时间约为大年初六中午13:30,反映的是此时的实时气温。
爬取实时气温代码import requests
import json
import pandas as pd
from pandas import Series, DataFrame
def temp(city): # 定义函数
results = {}
url = 'https://restapi.amap.com/v3/weather/weatherInfo'
params = {'key': '你的高德密钥',
'city': city, # 即身份证号码前6位
'extensions': 'base'} # 获得实时天气
res = requests.get(url,params)
jd = json.loads(res.text)
try:
results['adcode'] = city
results['temp'] = jd['lives'][0]['temperature']
return results # 返回字典
except:
results['adcode'] = city
results['temp'] = 'NA' # 引入防错机制
return results
xls_file = pd.ExcelFile('高德城市编码.xlsx') # 导入工作簿
df1 = xls_file.parse('Sheet1') # 打开第一张表格
adcode = df1['adcode'] # 得到Series
adcode = list(adcode) # 转换为列表格式
wendu = [temp(i) for i in adcode] # for循环批量处理
df2 = DataFrame(wendu)
temp = df2['temp']
df = pd.merge(df1,df2) # 合并
DF =df [~df['temp'].isin(['NA'])] # 删除未知气温的行
DF.to_excel('全国各区县实时天气.xlsx')
气温最低的20个区县气温最高的20个区县全国气温分布树状图将表格导入Power BI,树状图显示此时全国各区县中气温最多的是0℃和-1℃
往期精彩传送
爬虫三步走——以R语言爬取经纬度为例
Python调用高德地图API爬取经纬度
Python调用百度地图API爬取经纬度
Python利用正则表达式分离经纬度
听说过高德版本的天气预报么
Python双Y轴可视化
这是一份【洗浴推拿指南】,敬请查收!
您是否知道,回家的路究竟有多长?
好看点一下 大家都知道