【python】利用darksky公开API查询天气等数据

  • 利用darksky申请你的key
  • 查询API使用文档

进入正题:

申请完KEY后利用API查询天气,首先得知道所查询天气的经纬度,获取得到json数据的连接:

def get_url():
    api_url='https://api.darksky.net/forecast/'
    cdk=str(input("输入你的KEY"))
    jd=str(input("输入经度"))
    wd=str(input("输入纬度"))
    lang="lang=zh"
    units="units=si"
    url=api_url+cdk+'/'+wd+','+jd+"?"+lang+'&'+units
    return url

获取数据:

利用json包和requests包获取数据:

def get_data(url):    
    import json
    import requests
    weather_response=requests.get(url)
    weather_data=json.loads(weather_response.text)
    daily_list=weather_data["daily"]["data"]
    return daily_list

将数据转化为字典:

为方便操作,所以将得到数据转化为一个字典:

def data_attributes(daily_list):
    daily_data={}#新建一个空字典
    for day in daily_list[0]:
        daily_data[day]=[]#初始化字典中的key
    for day in daily_list:
        for item in day:
            daily_data[item].append(day[item])
            #向每个key加入入value
    return daily_data

整合程序:

import pprint
url=get_url()
daily_list=get_data(url)
daily_data=data_attributes(daily_list)
ppirnt.pprint(daily_data)#可以不用print出来的

这里可以自己根据key与day筛选自己需要的数据
例如:

daily_data["windSpeed"][1]
#查询明天的风速
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值