本文转自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()
四、返回后果