本文转自SDK社区:sdk.cn

一、开明接口

天气预报接口服务应用的聚合数据提供的收费接口,每天能够100次收费调用。能够通过https://www.juhe.cn/docs/api/id/73注册及开明。

二、Python2.x调用示例

#!/usr/bin/python# -*- coding: utf-8 -*-import urllib, urllib2, sys, jsonreload(sys)sys.setdefaultencoding('utf-8')url = 'http://apis.juhe.cn/simpleWeather/query'params = {"city": "北京",  # 查问天气的城市名称,如:北京、苏州、上海"key": "xxxxxxxx",  # 您申请的接口API接口申请Key}querys = urllib.urlencode(params)request = urllib2.Request(url, data=querys)response = urllib2.urlopen(request)content = response.read()if (content):try:    result = json.loads(content)    error_code = result['error_code']    if (error_code == 0):        temperature = result['result']['realtime']['temperature']        humidity = result['result']['realtime']['humidity']        info = result['result']['realtime']['info']        wid = result['result']['realtime']['wid']        direct = result['result']['realtime']['direct']        power = result['result']['realtime']['power']        aqi = result['result']['realtime']['aqi']        print("温度:%s\n湿度:%s\n天气:%s\n天气标识:%s\n风向:%s\n风力:%s\n空气质量:%s" % (temperature, humidity, info, wid, direct, power, aqi))    else:        print("申请失败:%s %s" % (result['error_code'], result['reason']))except Exception as e:    print("解析后果异样:%s" % e)else:# 可能网络异样等问题,无奈获取返回内容,申请异样print("申请异样")

三、Python3.x调用示例

#!/usr/bin/python# -*- coding: utf-8 -*-import urllibimport urllib.request as requestimport urllib.error as errorimport json# 天气预报查问示例def main():api_url = 'http://apis.juhe.cn/simpleWeather/query'params_dict = {    "city": "北京",  # 查问天气的城市名称,如:北京、苏州、上海    "key": "xxxxxxxx",  # 您申请的接口API接口申请Key}params = urllib.parse.urlencode(params_dict)try:    req = request.Request(api_url, params.encode())    response = request.urlopen(req)    content = response.read()    if content:        try:            result = json.loads(content)            error_code = result['error_code']            if (error_code == 0):                temperature = result['result']['realtime']['temperature']                humidity = result['result']['realtime']['humidity']                info = result['result']['realtime']['info']                wid = result['result']['realtime']['wid']                direct = result['result']['realtime']['direct']                power = result['result']['realtime']['power']                aqi = result['result']['realtime']['aqi']                print("温度:%s\n湿度:%s\n天气:%s\n天气标识:%s\n风向:%s\n风力:%s\n空气质量:%s" % (                    temperature, humidity, info, wid, direct, power, aqi))            else:                print("申请失败:%s %s" % (result['error_code'], result['reason']))        except Exception as e:            print("解析后果异样:%s" % e)    else:        # 可能网络异样等问题,无奈获取返回内容,申请异样        print("申请异样")except error.HTTPError as err:    print(err)except error.URLError as err:    # 其余异样    print(err)if __name__ == '__main__':main()

四、返回后果